home *** CD-ROM | disk | FTP | other *** search
/ ShareWare OnLine 2 / ShareWare OnLine Volume 2 (CMS Software)(1993).iso / comm2 / wrb100e.zip / WRBBS.DOC < prev    next >
Text File  |  1993-02-22  |  210KB  |  3,825 lines

  1. ===========================================================================
  2. ===========================================================================
  3. ==                                                                       ==
  4. ==     WR-BBS                 INSTALLATION AND ADMINISTRATION MANUAL     ==
  5. ==                                                                       ==
  6. ===========================================================================
  7. ===========================================================================
  8.                                      
  9.                    **  DOCUMENTATION AS OF 02/22/93  **
  10.                                      
  11.                          For WR-BBS versions 1.XX
  12.                                      
  13.                   Copyright (C) 1993 by Wilson A. Rogers
  14.  
  15.  
  16. --------------------------  TABLE  OF  CONTENTS  --------------------------
  17.  
  18. PREFACE
  19. SECTION 1                                                           SUPPORT
  20. SECTION 2                       IMPORTANT WARRANTY DISCLAIMER - PLEASE READ
  21. SECTION 3                                          WR-BBS LICENSE AGREEMENT
  22. SECTION 4                                            INTRODUCTION TO WR-BBS
  23. SECTION 5                                                     THE HOME PATH
  24. SECTION 6                                           INSTALLING WR-BBS FILES
  25. SECTION 7                                                      SCREEN FILES
  26. SECTION 8                                                            WR.BAT
  27. SECTION 9                                                ... THE FIRST TIME
  28. SECTION 10                                               CONFIGURING WR-BBS
  29. SECTION 11                             CLASS OF SERVICE (COS) CONFIGURATION
  30. SECTION 12                                                        THE SYSOP
  31. SECTION 13                                                 SETTING UP DOORS
  32. SECTION 14                                                  TROUBLESHOOTING
  33. SECTION 15                                                     MIDNIGHT.BAT
  34. SECTION 16                                     HOW THE MESSAGE SYSTEM WORKS
  35. SECTION 17                                               CONFIGURING EVENTS
  36. SECTION 18                                                THE QUESTIONNAIRE
  37. SECTION 19                                                 THE ACTIVITY LOG
  38. SECTION 20                                                THE "DOWN" OPTION
  39. SECTION 21                                        WHILE A CALLER IS ON LINE
  40. SECTION 22                                 EXTERNAL FILE TRANSFER PROTOCOLS
  41. SECTION 23                                   The "Waiting For Calls" Screen
  42. SECTION 24                           MOVING WR-BBS TO ANOTHER DRIVE OR PATH
  43. SECTION 25                                                    MISCELLANEOUS
  44.  
  45.  
  46.                    **  DOCUMENTATION AS OF 02/22/93  **
  47.  
  48. ===========================================================================
  49. PREFACE
  50. ===========================================================================
  51.  
  52. WR-BBS is  a bulletin board communications program, designed for the small-
  53. to-medium single  node BBS  application.    WR-BBS  is  distributed  on  an
  54. "evaluation-before-registration" basis.  This  method  of  distribution  is
  55. commonly referred to as shareware.
  56.  
  57. Whether you  are starting  a new BBS, or replacing another BBS application,
  58. you are  welcome to  try WR-BBS  on an  evaluation basis.  If it meets your
  59. expectations, register  the program  with the  author.  If it does not meet
  60. your expectations, simply delete the file named WRBBS.EKE (you can keep the
  61. rest of  the files if you wish), and there is no further obligation on your
  62. part.
  63.  
  64. NOTE TO  CURRENT SYSOPS:   If you are replacing an existing BBS application
  65. with WR-BBS,  you are  urged  to  completely  back  up  your  existing  BBS
  66. program's files  before  implementing  WR-BBS.    This  will  minimize  the
  67. inconvenience to  you if  you later decide that you do not wish to continue
  68. using WR-BBS,  as you  can restore  the previous  BBS application  quickly.
  69. Before installing  WR-BBS, you should read the documentation thoroughly, as
  70. the WR-BBS  implementation of some features differs from the implementation
  71. used by  other BBS  programs.   Also, WR-BBS has some features not found in
  72. other BBS programs (and does not have some features that other BBS programs
  73. have).
  74.  
  75. There are  10 basic steps involved to install WR-BBS.  It is suggested that
  76. you follow  the steps  in the  order presented  to  assure  a  trouble-free
  77. installation:
  78.  
  79.  
  80.        A.   Read the important warranty disclaimer in section 2.  Make sure
  81.                     that you  understand that the author is not responsible
  82.                     for any damages - before you begin installing WR-BBS on
  83.                     your system.
  84.        
  85.        B.   Familiarize yourself  with the  license agreement.   This is in
  86.                     section 3 of this document.
  87.        
  88.        C.   Set up the "home path".  This is described in detail in section
  89.                     5 of this document.
  90.        
  91.        D.  Install the WR-BBS files.  See section 6 for information on this
  92.                     process.
  93.        
  94.        E.  Edit the screen files as needed for your board.  Section 7 tells
  95.                     how to do this.
  96.        
  97.        F.  Read section 8, which tells how WR.BAT works, and why its use is
  98.                     strongly recommended.
  99.        
  100.        G.   Establish an  initial database.   The  command to  do  this  is
  101.                     described in section 9.
  102.        
  103.        H.   Configure WR-BBS,  using WRCONFIG.SYS.    See  section  10  for
  104.                     details.
  105.        
  106.        I.   Start WR-BBS,  by typing  WR, wait  for WR-BBS to start up, and
  107.                     then log on locally (press ALT-L).
  108.        
  109.        J.  Test your new WR-BBS installation.
  110.  
  111. The installation,  configuration, and  testing process should take about 30
  112. to 90  minutes after  you read  this document.  If you  are also  going  to
  113. implement (optional)  doors, events, and other frills, the total setup time
  114. will be longer.
  115.                                      
  116.                                      
  117. ===========================================================================
  118. SECTION 1                                                           SUPPORT
  119. ===========================================================================
  120.                                      
  121.                        HOW TO GET SUPPORT FOR WR-BBS
  122.  
  123. Many questions  and operational  anomalies with  WR-BBS can  be resolved by
  124. consulting this  documentation.  If you have a problem with WR-BBS, you can
  125. obtain support by one of these three methods:
  126.  
  127.         Support Method # 1  (Preferred method of obtaining support)
  128.         -----------------------------------------------------------
  129.  
  130. Log onto the WR-BBS Headquarters BBS, located in Kirkland, Washington.  The
  131. telephone number is (206) 828-9089.  The WR-BBS Headquarters BBS is usually
  132. on line  twenty four  hours a  day.  300, 1200, 2400, 4800, 9600, and 14400
  133. baud is supported, with V42.bis and MNP5 protocols available.
  134.  
  135. When you  call the  WR-BBS Headquarters  BBS for  support, you  can send  a
  136. (C)omment to  the SysOp  and describe  the problem  you are having.  I will
  137. respond to  all support  requests promptly  (usually within  24 hours).  To
  138. receive your  response, you  will  need  to  log  back  on  to  the  WR-BBS
  139. Headquarters BBS again at a later time.  If you are not in the calling area
  140. that can  dial Kirkland,  Washington as a local call, long distance charges
  141. will apply.   Most  support requests  require a minimum of two calls to the
  142. WR-BBS Headquarters  BBS -  the first  call to  send a  message  requesting
  143. support, and a second call that you make to receive the answer.
  144.  
  145. When logging  onto the  WR-BBS Headquarters  BBS for  support, you may also
  146. wish to peruse the message system - there may be messages from (and replies
  147. to) other  SysOps who  had the same question.  Known bugs and documentation
  148. errors are  added to  the appropriate  bulletins when  they are discovered.
  149. The bulletins  also indicate  which versions  of WR-BBS  are affected,  and
  150. which version contains the fix for such bugs.
  151.  
  152.                             Support Method # 2
  153.                             ------------------
  154.  
  155. You can  reach the author via electronic mail on the CompuServe Information
  156. Service.   Send your  CompuServe Mail to Wilson A. Rogers at 75020,1361.  I
  157. check CompuServe  at least  several times  a week  (often daily).   I  will
  158. respond via  CompuServe Mail  promptly (usually  within twenty four hours).
  159. This method  may be  less expensive  than the  first  method  if  Kirkland,
  160. Washington is  a long  distance call  for you.   Most  CompuServe users can
  161. reach CompuServe  with a  local call.   (CompuServe usually makes a nominal
  162. charge for usage, depending on your account type).
  163.  
  164.  
  165.                              Support Method #3
  166.                              -----------------
  167.  
  168. You can  use the  U.S. Mail  to request support.  This is the least direct,
  169. and slowest  of the  three available methods.  Address your support request
  170. to:
  171.  
  172.           WR-BBS Support
  173.           P.O. Box 8024
  174.           Kirkland, WA  98034-0024
  175.  
  176. I will  respond, via  the mail,  promptly with  a  reply  to  your  support
  177. request.   My experience  has been  that a first class letter from the east
  178. coast to  the west  coast takes  between 3  and 6  days for  delivery.    I
  179. therefore recommend  that you  use one  of the  other  support  methods  if
  180. possible.
  181.  
  182.  
  183.                      Methods of Support NOT available
  184.                      --------------------------------
  185.  
  186. The following support methods are not available for WR-BBS:
  187.  
  188.           - Telephone support (other than via modem)
  189.           - Fax support
  190.  
  191.      NOTE: Please do NOT call the author at his residence.  Support is
  192.      not available  in this  manner and will NOT be provided.  Use one
  193.      of the support methods described above to reach the author.
  194.  
  195. There is  no charge  for support.   Registered  WR-BBS SysOps  will receive
  196. support at  no charge  for as long as they have a current version of WR-BBS
  197. installed, or  until WR-BBS  is discontinued.   SysOps  who  have  not  yet
  198. registered their  copy of WR-BBS will also receive support, but support for
  199. evaluation copies  is discontinued  forty five days after the first support
  200. request.   Thus, each evaluation copy receives free support for at least 45
  201. days.
  202.  
  203. As  with   any  complex  software,  bugs  will  be  discovered,  and  fixes
  204. implemented for  WR-BBS.   Maintenance  releases  will  be  made  available
  205. periodically,  and   can  be   downloaded  (no   charge)  from  the  WR-BBS
  206. Headquarters BBS.  A typical  maintenance release  contains fixes for minor
  207. bugs, and  possibly some  new minor feature enhancements.  If a serious bug
  208. is discovered, a "correction release" may be created to resolve the problem
  209. until the  next maintenance  release is published.  Correction releases and
  210. maintenance releases can be downloaded (no charge from author) from the WR-
  211. BBS Headquarters  BBS,  and  possibly  from  other  BBS's  where  they  are
  212. available. Correction  releases and  maintenance releases  are  not  mailed
  213. automatically, and  in fact are never mailed, unless you specifically order
  214. one and  pay the  nominal handling  charge for  handling and mailing.  This
  215. applies  regardless   of  the  severity  of  problem(s)  corrected  by  the
  216. correction release  or  maintenance  release.  The  most  expeditious  (and
  217. probably the least expensive) method for you to obtain a correction release
  218. or maintenance release is to download it.
  219.  
  220. When major  operational changes  and feature  additions are made to WR-BBS,
  221. this is referred to as an upgrade.  Upgrades can be downloaded from the WR-
  222. BBS Headquarters  BBS.   There may  be a  nominal charge  for upgrades.  An
  223. example of a major operation change would be multi-node operation.
  224.  
  225.  
  226.                       HOW WR-BBS VERSION NUMBERS WORK
  227.  
  228.        All WR-BBS  version  numbers  are  expressed  as  a  numeric
  229.        character followed  by a  decimal  point,  followed  by  two
  230.        numeric characters,  and possibly followed by a letter (from
  231.        A to Z).
  232.  
  233.                                 1.00A <-- Update letter
  234.                                 | ||
  235.                                 | ||
  236.              Major version number ||
  237.                                   ||
  238.         Intermediate version number|
  239.                                    |
  240.                                    Minor version number
  241.  
  242.  
  243.        The major  version number is changed only when an upgrade is
  244.        released.    It  represents  a  significant  change  in  the
  245.        software from one number to the next.
  246.        
  247.        The  intermediate   version  number   is  incremented   when
  248.        significant changes  have been  made to  the  software,  but
  249.        operational characteristics  are not  substantially  changed
  250.        (not an upgrade).
  251.        
  252.        The  minor   version  number  is  incremented  each  time  a
  253.        maintenance release is published.
  254.        
  255.        The update  letter (which may not appear at all) is added or
  256.        incremented each  time a  correction release is published to
  257.        correct a problem between regular maintenance releases.
  258.  
  259.                                      
  260.                                 SOURCE CODE
  261.                                 -----------
  262.  
  263. WR-BBS was written in Pascal, using Borland TurboPascal 6.0.  Some external
  264. procedures (namely  the communications  routines) were  written in assembly
  265. language, using Borland TASM.
  266.  
  267. To assist third-party developers who wish to create utilities for WR-BBS, a
  268. source file  containing the  file and  record types  is included  with  the
  269. master WR-BBS  distribution archive.   This  file,  WRBBS_T1.PAS,  is  also
  270. available for download from the WR-BBS Headquarters BBS.
  271.  
  272. No other source code will be published.
  273.  
  274.  
  275. ===========================================================================
  276. SECTION 2                       IMPORTANT WARRANTY DISCLAIMER - PLEASE READ
  277. ===========================================================================
  278. This section  describes the risk that you or your company takes in using or
  279. implementing WR-BBS.  In plain English, you are responsible for all damages
  280. that WR-BBS  may cause  if you  use it  on your  system, whether or not the
  281. damages are  due to  a defect  in the  program.    Rather  than  hide  this
  282. disclaimer in  small type  at the end of the documentation, I am putting it
  283. up front,  and urge you to read it carefully before proceeding. If you feel
  284. this is  unfair, or  you are  in any  way uncomfortable  with the fact that
  285. there is  no warranty  of any kind on the WR-BBS program, please delete the
  286. WR-BBS files now.
  287.  
  288.                             WARRANTY DISCLAIMER
  289.                     IMPORTANT - EVERYONE READ CAREFULLY
  290.                            YOU ARE AT SOLE RISK
  291.  
  292. The following  disclaimer of  warranty applies  to EVERY  copy  of  WR-BBS,
  293. whether registered or not, unless specifically indicated otherwise.  Please
  294. read it  carefully.   In this and the following paragraphs, "YOU" refers to
  295. you, the  person or  entity who  uses  (or  attempts  to  use)  the  WR-BBS
  296. SOFTWARE; "AUTHOR"  refers to  Wilson A. Rogers, or any lawful successor to
  297. Wilson A.  Rogers, or  any lawful  owner of  the WR-BBS  source code, whose
  298. ownership of  that source  code has been authorized in writing by Wilson A.
  299. Rogers;  and  "WR-BBS  SOFTWARE"  means  the  executable  program  file(s),
  300. overlays, and  proprietary files  associated with  the  single-node  WR-BBS
  301. Bulletin Board System.
  302.  
  303.        WR-BBS SOFTWARE is supplied on an "AS IS" basis.  Subject to
  304.        any contrary  provisions of applicable state law, the AUTHOR
  305.        disclaims  any   and  all   implied  warranties,   including
  306.        warranties  of   merchantability  and/or   fitness   for   a
  307.        particular purpose.   Except for suggestions to the contrary
  308.        that  may   appear  in   the  official   documentation  that
  309.        accompanies the WR-BBS SOFTWARE, the AUTHOR does not purport
  310.        that the  WR-BBS SOFTWARE is fit for any purpose whatsoever,
  311.        nor does the AUTHOR make any claim, implied or otherwise, as
  312.        to the merchantability of the WR-BBS SOFTWARE.
  313.        
  314.        The AUTHOR  disclaims any  and all  responsibility  for  any
  315.        damages resulting  from the  use or attempted use of the WR-
  316.        BBS SOFTWARE,  including, but  not limited  to consequential
  317.        damages, indirect  damages, coincidental  damages,  loss  of
  318.        revenue, wages,  or income,  loss of  goodwill, loss of data
  319.        and/or files, system downtime, and "special damages".
  320.        
  321.        YOU assume  all risk  in attempting to use, or using the WR-
  322.        BBS SOFTWARE.   YOU must independently determine whether the
  323.        WR-BBS SOFTWARE  is suitable  for  your  intended  use,  and
  324.        whether or not the WR-BBS SOFTWARE will cause damage to YOU,
  325.        prior to  any use  or attempted  use of the WR-BBS SOFTWARE.
  326.        If you  cannot make  this  determination,  do  not  use  (or
  327.        attempt to  use) the  WR-BBS SOFTWARE.   The AUTHOR does not
  328.        authorize any  person or  entity to  make that determination
  329.        for  you.    You  must  make  this  determination  prior  to
  330.        registering the  WR-BBS SOFTWARE  with the  AUTHOR.  If, for
  331.        any reason,  you determine  that the  WR-BBS SOFTWARE is not
  332.        suitable  for   your  use  within  thirty  (30)  days  after
  333.        registering the  WR-BBS SOFTWARE,  the AUTHOR,  upon written
  334.        application from  YOU, will  refund any and all license fees
  335.        paid by  YOU to  the AUTHOR.  Should this  happen, YOU  must
  336.        immediately and permanently discontinue any use or attempted
  337.        use of  the WR-BBS  SOFTWARE. Such refund is the sole remedy
  338.        for any failure of the WR-BBS SOFTWARE.
  339.        
  340.        In  the   event  that  the  WR-BBS  SOFTWARE,  after  proper
  341.        registration, fails to perform substantially as described in
  342.        the official WR-BBS documentation at any time during the six
  343.        month period  following registration,  the AUTHOR will, upon
  344.        written application  from YOU,  refund any  and all  license
  345.        fees previously  paid by  YOU to  the AUTHOR. Such refund is
  346.        the sole  remedy for  any failure  of the  WR-BBS  SOFTWARE.
  347.        Should this  happen, YOU  must immediately  and  permanently
  348.        discontinue any use or attempted use of the WR-BBS SOFTWARE.
  349.        
  350.        Support for  WR-BBS SOFTWARE  is available by modem, through
  351.        the  WR-BBS   Headquarters   BBS,   through   another   data
  352.        communications service,  and by mail. There is no charge for
  353.        support to  registered licensees  who have a current version
  354.        of the  WR-BBS SOFTWARE.  The AUTHOR will not be responsible
  355.        for any  toll, message  unit, or  communications charges YOU
  356.        incur while  accessing the  WR-BBS Headquarters BBS or other
  357.        communications service(s),  or for  time expended  by YOU in
  358.        obtaining support.
  359.        
  360.        If any  provision of this warranty disclaimer is determined,
  361.        by a  court or  government agency,  to be unlawful, void, or
  362.        for any  reason unenforceable,  it shall be deemed separable
  363.        from, and  in no  way shall  affect  the  validity  of,  the
  364.        remaining provisions of this warranty disclaimer.
  365.        
  366.        The AUTHOR  reserves the  right to  discontinue development,
  367.        production, and  support of the WR-BBS SOFTWARE at any time.
  368.        If such  discontinuance occurs  with thirty (30) days of YOU
  369.        executing a valid license application, the AUTHOR will, upon
  370.        written application  from YOU,  refund any  and all  license
  371.        fees paid  by YOU  to the  AUTHOR. If  you apply  for such a
  372.        refund, YOU must immediately and permanently discontinue any
  373.        use or attempted use of the WR-BBS SOFTWARE.  Such refund is
  374.        your sole  remedy  in  the  event  the  WR-BBS  SOFTWARE  is
  375.        discontinued by  the  AUTHOR  within  thirty  (30)  days  of
  376.        registration by YOU.
  377.  
  378.  
  379. ===========================================================================
  380. SECTION 3                                          WR-BBS LICENSE AGREEMENT
  381. ===========================================================================
  382.  
  383.            WR-BBS is protected by United States copyright laws.
  384.                   Copyright (C) 1993 by Wilson A. Rogers.
  385.  
  386.  
  387. Like most  software, WR-BBS is not sold.  It is licensed, to persons and/or
  388. entities who  agree to  terms of  the license.  No person or entity has the
  389. right to  sell WR-BBS  software to  you, as  it is  not for  sale under any
  390. circumstances.   If you  agree to the terms of the license agreement (which
  391. follows), and  you submit  the proper  license fee  along with  a  properly
  392. completed registration  form, you  will receive  a license  to use the then
  393. current major  level of  WR-BBS software  for a  period not exceeding fifty
  394. (50) years.
  395.  
  396. In the  following  license  agreement,  "YOU"  means  you,  the  registered
  397. licensee who  has submitted  the proper  license fee  along with a properly
  398. executed license  application; and  "AUTHOR" means Wilson A. Rogers, or any
  399. lawful successor  to Wilson  A. Rogers,  or any  lawful owner of the WR-BBS
  400. source code,  whose ownership  of that  source code  has been authorized in
  401. writing by  Wilson A.  Rogers; and  "WR-BBS SOFTWARE"  means the executable
  402. program file(s),  overlays,  and  proprietary  files  associated  with  the
  403. single-node WR-BBS Bulletin Board System.
  404.  
  405. YOU agree  to use the WR-BBS SOFTWARE on only one computer at one time, and
  406. to prevent the use of the registered copy of the WR-BBS SOFTWARE from being
  407. used on more than one computer simultaneously.
  408.  
  409. YOU may  make as  many backup  copies of  the WR-BBS SOFTWARE as reasonably
  410. necessary to allow recovery from system failure.
  411.  
  412. YOU may  distribute un-registered  copies  of  WR-BBS  freely  and  without
  413. obligation to  the AUTHOR,  other than to hold the AUTHOR harmless from any
  414. damages that may be incurred from such distribution.
  415.  
  416. YOU agree  to keep  the executable, overlay, and other proprietary files of
  417. the WR-BBS  SOFTWARE in  their original,  unaltered format.  YOU also agree
  418. not to  modify, reverse-engineer,  or decompile  the WR-BBS SOFTWARE at any
  419. time during, and subsequent to, the termination of this license.
  420.  
  421. YOU may terminate this agreement, without notice to the AUTHOR, at any time
  422. prior to  its expiry.  The AUTHOR may terminate this agreement at any time,
  423. without notice  to YOU.  YOU agree  to destroy  all copies  of  the  WR-BBS
  424. SOFTWARE when  this agreement  is terminated  for  any  reason.    If  this
  425. agreement is  terminated by  the AUTHOR  within thirty  (30)  days  of  the
  426. license being granted, the AUTHOR will refund to YOU all monies paid to the
  427. AUTHOR for the license.  This will be your sole remedy in this situation.
  428.  
  429. YOU agree and understand that the WR-BBS SOFTWARE is provided on an "AS-IS"
  430. basis, and subject to the warranty disclaimer appearing in section two. YOU
  431. will independently  determine whether or not the WR-BBS SOFTWARE meets your
  432. needs and  whether or  not the  WR-BBS SOFTWARE  will damage your system or
  433. cause other  loss to  YOU before  YOU use  or attempt  to  use  the  WR-BBS
  434. SOFTWARE.    YOU  agree  that  if  YOU  can  not  adequately  make  such  a
  435. determination, YOU  will not  apply for a license to use, nor will YOU use,
  436. or attempt to use the WR-BBS SOFTWARE.
  437.  
  438.  
  439.  
  440. ===========================================================================
  441. SECTION 4                                            INTRODUCTION TO WR-BBS
  442. ===========================================================================
  443.  
  444. WR-BBS is  designed to  operate on  an IBM  PC <tm>  or  compatible  micro-
  445. computer.  It operates as a single-port system, but its database foundation
  446. was  designed   to  allow   multi-port  operation  as  a  potential  future
  447. development.   WR-BBS utilizes the fully-integrated W-TREE Database Manager
  448. to rapidly locate and access database records, minimizing the "dead screen"
  449. time that  would otherwise occur when a database search occurs.  The W-TREE
  450. Database Manager  is integrated at source code level for seamless operation
  451. and maximum flexibility for third party developers.
  452.  
  453. A class-of-service  (COS) section  in the system configuration allows up to
  454. 26 different  permission levels to be assigned to callers. The COS settings
  455. can be  flexibly applied  to allow  or deny  very specific  access for each
  456. group of  users.   (COS is  synonymous with  "access level"  in  other  BBS
  457. products).   The difference  in WR-BBS is that the COS designations are not
  458. incremental -  offering superb  flexibility in designing access permissions
  459. for your board.
  460.  
  461. Some specifications:
  462.                                                  DESIGN      PRACTICAL
  463.                                                  MAXIMUM      MAXIMUM
  464.                                                  -------     ---------
  465. User accounts                              2,147,483,648         1,000
  466. File descriptions                          2,147,483,648         6,604
  467. Messages on file                                  65,535         6,604
  468. File areas                                            26            26
  469. Events scheduled                                      16            16
  470. Access levels (classes of service)                    26            26
  471. Port speed (baud)                         UART dependent       115,200
  472.  
  473.                             SYSTEM REQUIREMENTS
  474.  
  475.      WR-BBS should  install and  run  on  any  IBM  PC  <tm>  or  100%
  476.      compatible micro-computer, including most DOS based systems using
  477.      8086, 8088, V20 and 80X86 processors.
  478.      
  479.      WR-BBS has been tested with DR-DOS 5, DR-DOS 6.0, MS-DOS 3.3, MS-
  480.      DOS 4.01, MS-DOS 5.0, PC-DOS 5.0 and in a DOS window of OS/2 2.0.
  481.      Any level of DR-DOS, MS-DOS, or PC-DOS higher than 2.01 should be
  482.      sufficient, but  DOS 3.3  or higher  is recommended.   WR-BBS has
  483.      been tested under DESQview <tm> 2.3, DESQview <tm> 2.4, Microsoft
  484.      Windows <tm>  3.0, and Microsoft Windows <tm> 3.1, in addition to
  485.      WR-DOS 6.5.
  486.      
  487.      WR-BBS will  display in color on a color monitor (CGA, MCGA, EGA,
  488.      VGA, SVGA), but a color monitor is not required.  WR-BBS does not
  489.      use bit-mapped graphics, and is compatible with all display types
  490.      found on DOS computers.  Additional graphics memory pages are not
  491.      required for use under a multi-tasker.
  492.      
  493.      ANSI color  screens can  be  configured  for  display  to  remote
  494.      callers, whether  or not  a color  monitor is  used at  the local
  495.      console.   WR-BBS does NOT require ANSI.SYS to be loaded in order
  496.      to display  ANSI graphics,  as WR-BBS  contains a  built-in  ANSI
  497.      driver.
  498.      
  499.      WR-BBS requires  approximately 230  KB of memory during run time.
  500.      During DOS shells, WR-BBS swaps almost 90% of its image to EMS or
  501.      disk (configurable), leaving only about 18 KB residing in memory.
  502.      WR-BBS can  be configured to swap its image when calling external
  503.      protocols and  "door" programs,  allowing generous memory for the
  504.      called program.
  505.  
  506.  
  507. ===========================================================================
  508. SECTION 5                                                     THE HOME PATH
  509. ===========================================================================
  510.  
  511.        
  512.        Setting the  HOME PATH  environment variable  is one  of the
  513.        easiest aspects  of configuring  your new WR-BBS system.  It
  514.        is also  the most important configuration item.  If you read
  515.        nothing else in this document, please read this section.
  516.        
  517.  
  518. Throughout this  document, you  will see  mention of  the "home path".  The
  519. home path  refers the  actual DOS  path where  WR-BBS can find its program,
  520. overlay, and  data files.  WR-BBS checks the DOS environment for a variable
  521. which tells  it the  location of  these files.   It  is one  of the easiest
  522. configuration items relative to WR-BBS, but is also the most important.
  523.  
  524. Prior to  installing, initializing  or starting WR-BBS, the DOS environment
  525. variable named "WR-BBS" must be set to the home path.  If this is not done,
  526. WR-BBS will  not start.  This is done by issuing the SET command to DOS, as
  527. in the following example:
  528.  
  529.      SET WR-BBS=[path]
  530.  
  531. Where [path]  is the  actual path  to WR-BBS's  files.   Unless you  have a
  532. compelling reason  for doing  otherwise, it is recommended that you put WR-
  533. BBS's files  in a  sub-directory named  WR-BBS, immediately  off  the  root
  534. directory of  your boot  drive.   In this case, the home directory would be
  535. named C:\WR-BBS,  and the  SET command to set the home path would look like
  536. this:
  537.  
  538.      SET WR-BBS=C:\WR-BBS
  539.  
  540. The trailing backslash on the home path is not expected (but does no damage
  541. if added).  Thus, the command:
  542.  
  543.      SET WR-BBS=C:\WR-BBS   and   SET WR-BBS=C:\WR-BBS\
  544.                                   trailing backslash  ^
  545.  
  546. are identical  for purposes of WR-BBS determining the home path.  Note that
  547. no matter  what you use for the home path, when you issue the home path SET
  548. command to DOS, the following important syntax rules apply:
  549.  
  550.      - There is no space on either side of the equal sign.
  551.      - The first character after the equal sign must be a valid drive
  552.           letter.
  553.      - The command can be issued in upper or lower case.
  554.      - The portion of the SET after the equal sign must be a valid DOS sub-
  555.           directory designation.
  556.      - The entire pathname cannot exceed 64 characters
  557.  
  558. The following home path SET statements are NOT valid:
  559.  
  560.      SET WR-BBS=\WR-BBS
  561.                 ^(no drive letter specified)
  562.      
  563.      SET WR-BBS= C:\WR-BBS
  564.                 ^(no space allowed on either side of = sign)
  565.      
  566.      SET WR-BBS=C:BBSFILES
  567.                  ^(does not point to a directory)
  568.  
  569. While the following home path SET statements are valid:
  570.  
  571.      SET WR-BBS=C:\BBSFILES\BIN
  572.                 ^(can point to any valid DOS directory)
  573.      
  574.      set WR-BBS=c:\WR-BBS
  575.      ^(upper/lower case doesn't matter)
  576.  
  577. It is  STRONGLY recommended  that you insert the SET WR-BBS command in your
  578. AUTOEXEC.BAT file.   Then,  the DOS  environment variable for the home path
  579. will be  properly set each time your computer is booted, and you will never
  580. have to  worry about  it again.   To do this, use an ASCII file editor, and
  581. edit the file AUTOEXEC.BAT, inserting the appropriate SET command as one of
  582. the first  few lines  in that file.  Then save the file as a standard ASCII
  583. file, and reboot your system to make it take effect.
  584.  
  585. To test  the DOS  environment (to  make sure that the SET command has taken
  586. effect), type  just the three-letter word SET at the DOS command line.  DOS
  587. will then  print out several lines, one for each environment variable.  One
  588. of the  lines should  read WR-BBS=[path],  where path  is your  actual home
  589. path.   If you  do not get this result, then an error was made when SETting
  590. the environment,  or there  is  insufficient  environment  space  available
  591. (which can be easily remedied - see section 14).
  592.  
  593. NOTE:   Do NOT  include the  WR-BBS home  path in  your DOS  PATH or APPEND
  594. statements.
  595.  
  596. If you  ever move  your WR-BBS application to another directory (or another
  597. system), you  will need to make sure that the home path is properly defined
  598. before restarting WR-BBS.
  599.  
  600. Some programs  will butcher  your AUTOEXEC.BAT  and  CONFIG.SYS  when  they
  601. install themselves,  so that  they can  put their  own special commands in.
  602. The worst of these will delete the changes described above (and other vital
  603. lines in  AUTOEXEC.BAT and  CONFIG.SYS).   If you  install any applications
  604. after installing  WR-BBS, you  are well advised to first make backup copies
  605. of your AUTOEXEC.BAT and CONFIG.SYS files.
  606.  
  607. WR-BBS never modifies AUTOEXEC.BAT or CONFIG.SYS, or any other system file.
  608.  
  609.      RECOMMENDATION:   You should put the appropriate SET statement in
  610.      your AUTOEXEC.BAT.  This will  prevent mysterious  problems  from
  611.      surfacing later, such as WR-BBS refusing to restart after a power
  612.      failure.     If  the   SET  statement  for  WR-BBS  is  not  done
  613.      automatically each  time the system starts, WR-BBS will be unable
  614.      to restart  without human  intervention.   Naturally,  this  will
  615.      happen when  you are  3,000 miles away from your system attending
  616.      the Murphy's  Law seminar, and your WR-BBS system will not answer
  617.      calls until  you get back. You can prevent this from happening by
  618.      inserting the  SET statement  for the  WR-BBS home  path in  your
  619.      AUTOEXEC.BAT file  before you  do anything  else. Do  it once and
  620.      forget it. Do it now.
  621.  
  622. ===========================================================================
  623. SECTION 6                                           INSTALLING WR-BBS FILES
  624. ===========================================================================
  625.  
  626. First you  must choose a directory for the WR-BBS files to reside in.  This
  627. is the  "home"  directory  as  discussed  in  the  preceding  section.  The
  628. directory  "\WR-BBS"   off  the  root  directory  of  your  boot  drive  is
  629. recommended, but any valid DOS directory can be used.  Keep in mind that no
  630. files other  than those  related to  WR-BBS should exist in the WR-BBS home
  631. directory, so  do not  use an  existing directory  that belongs  to another
  632. application.   The use  of the  root directory  as  the  WR-BBS  home  path
  633. directory is possible, but strongly recommended against.
  634.  
  635. Next, you  need to  create the  home path  directory if it does not already
  636. exist.  Do this by issuing the DOS command:
  637.  
  638.      MKDIR [dirname]
  639.  
  640. Where [dirname]  is the  full directory  name of  the WR-BBS home path sub-
  641. directory.   Next, make  the home  path directory  the current directory by
  642. issuing this command at the DOS command line:
  643.  
  644.      CHDIR [dirname]
  645.  
  646. Where [dirname]  is the WR-BBS home path directory. If you receive an error
  647. message from  DOS, check  your typing  and try  again, or refer to your DOS
  648. manual.
  649.  
  650. Now that the home path directory is current, copy all of the files from the
  651. WR-BBS archive  (or installation  diskette) into  the homepath directory by
  652. issuing one of the following commands:
  653.  
  654.      XCOPY [SourcePath]\*.* /V               or
  655.      
  656.      COPY [SourcePath]\*.* /V
  657.  
  658. Where [SourcePath]  is the  actual DOS  path to  the  WR-BBS  files.    For
  659. example, if  you de-compressed  the WR-BBS  files into  a  directory  named
  660. C:\MODEM\DOWNLOAD, the proper syntax would be
  661.  
  662.      XCOPY C:\MODEM\DOWNLOAD\*.* /V          or
  663.      
  664.      COPY C:\MODEM\DOWNLOAD\*.* /V
  665.  
  666. Alternatively, if  you are  using a distribution diskette obtained from the
  667. author, you would type:
  668.  
  669.      XCOPY A:\*.* /V                         or
  670.      
  671.      COPY A:\*.* /V
  672.  
  673. provided that the diskette was in the A: drive.
  674.  
  675. The following files are provided with WR-BBS, and should be copied into the
  676. WR-BBS home  path directory.   They must always reside in the home path for
  677. correct operation  of WR-BBS.    With  the  exception  of  the  executable,
  678. overlay, and  database files,  all WR-BBS files are in character format and
  679. can be readily edited as required:
  680.  
  681. MIDNIGHT.BAT
  682.           This is  a sample batch file, modify to suit your application, or
  683.           delete if  you wish.   If  MIDNIGHT.BAT is  present, WR-BBS  will
  684.           execute it  immediately after  DOS  reports  that  the  date  has
  685.           changed (which  is at  00:00 hours).  See  section  15  for  more
  686.           information on MIDNIGHT.BAT.
  687.  
  688. NOACCESS.TXT
  689.           This file  is checked  whenever a  new user logs on for the first
  690.           time.   If that  caller's name is found in NOACCESS.TXT, they are
  691.           not allowed  to continue,  and are  forced off.    This  prevents
  692.           callers from  using cute  names like  EATME SYSOP  or worse.  The
  693.           file by  default contains  a list  of possible  bad  names.    It
  694.           includes some  bad  words,  so  if  you  are  sensitive  to  such
  695.           language,  don't   read  the   file.    You  can  add  or  remove
  696.           "undesirable" names  to this  file as  needed, with  one name per
  697.           line. When  NOACCESS.TXT is scanned, each line is compared to the
  698.           caller's first  AND last  name.   Thus, if  "CAPTAIN" appears  in
  699.           NOACCESS.TXT, a  caller who  claims to be "CAPTAIN KIRK" would be
  700.           denied access,  and so would "BOB CAPTAIN".  Thus, you need to be
  701.           careful to keep potential "valid" names out of NOACCESS.TXT.
  702.  
  703. OSACCESS.BAT
  704.           This is another sample batch file, which you can edit if desired.
  705.           It controls  access  to  the  operating  system  when  the  SysOp
  706.           requests a shell to DOS.
  707. WR.BAT
  708.           This is  the main batch file that controls WR-BBS operation.  You
  709.           should run  WR-BBS by  typing "WR"  and pressing  <ENTER>, rather
  710.           than running  WRBBS.EXE directly.   This  is  explained  in  more
  711.           detail in section 8.
  712.  
  713. WRBBS.EXE
  714.           This is the program file for WR-BBS.  Never edit this file.
  715.  
  716. WRBBS.OVR
  717.           This is  the overlay file for WR-BBS.  To conserve memory, WR-BBS
  718.           loads overlays  into memory  as needed  and unloads  them when no
  719.           longer required. Never edit this file.
  720.  
  721. WRCONFIG.SYS
  722.           This  is   the  configuration   file  for  WR-BBS.    Almost  all
  723.           configuration   and    customization   is   done   through   this
  724.           configuration file.   You  will need  to edit this file to set up
  725.           your WR-BBS  system.   See section  10 for details on configuring
  726.           WR-BBS with WRCONFIG.SYS.
  727.  
  728. WRQUOTES.TXT
  729.           This is  an optional  file.   It  is  included  with  the  WR-BBS
  730.           distribution package  as a  sample file.  When caller's log on, a
  731.           "quotation" from  this  file  will  be  selected  at  random  and
  732.           displayed to  the caller.   You can delete this file if you don't
  733.           want the  "quote of  the day" feature.  Likewise, you can edit it
  734.           to add  your own  quotes.   Each quote must be no longer than one
  735.           line in length.
  736.  
  737. WR_AFTER.BAT
  738.           This file  is optional.   A  sample file  is  included  with  the
  739.           original WR-BBS  distribution package.   If WR-AFTER.BAT is found
  740.           in the  home path,  it will  be executed after each log-off.  You
  741.           could  use   this  batch   file  to  update  statistics-sensitive
  742.           bulletins, or  do some  other kind  of post-call  cleanup. If you
  743.           don't have a use for this feature, delete WR-AFTER.BAT.
  744.  
  745.  
  746. WFILEXFR.BAT
  747.           This is  a sample  batch file,  which you  can modify to meet the
  748.           needs of  your board.   It  controls all  file transfer  activity
  749.           (downloads and  uploads) and  external protocol  programs.    See
  750.           section 22 for additional information on this file.
  751.  
  752. ===========================================================================
  753. SECTION 7                                                      SCREEN FILES
  754. ===========================================================================
  755.  
  756. For maximum  flexibility, WR-BBS has very few "hard coded" display screens.
  757. Almost all  of the  screens that are seen by your callers are external text
  758. files which  you can  edit to  suit your  board's individual needs.  Sample
  759. screen files  are provided  with the  WR-BBS distribution package.  Many of
  760. these screen  files can  be used "as is" immediately, without editing. Some
  761. of the  screen files,  however, should  be edited  to include your BBS name
  762. and/or other installation-specific information.
  763.  
  764. Each screen  that can  be displayed  to a caller is supported by TWO screen
  765. files.   One of the screen files has an extension of .ASC (which stands for
  766. ASCII) and  the other  corresponding screen  file has  an extension of .ANS
  767. (which stands  for ANSI).   ANSI  screens are displayed to callers who have
  768. ANSI color enabled.  ASCII screens are sent to non-ANSI callers.  With very
  769. few exceptions,  ASCII screens  on WR-BBS have no color data in them.  ANSI
  770. screens, on  the other  hand, typically contain ANSI escape sequences which
  771. allow for sophisticated color and cursor-movement control.
  772.  
  773. Creating ASCII  screen files  is relatively  easy.  Use any editor that can
  774. save files  in  true  ASCII.    DOS's  EDLIN  and  EDIT  programs  do  this
  775. automatically.  Most word processors can create, edit and save "true ASCII"
  776. files, but  require commands to tell the word processing program not to put
  777. formatting symbols in the finished file.
  778.  
  779. Creating ANSI screens is a little more involved.  Although it could be done
  780. with  a   standard  text   editor,  this  would  be  a  time-consuming  and
  781. excruciating process.  The use  of an  ANSI-specific screen  file editor is
  782. strongly recommended.   A popular program called TheDraw (by TheSoft) is an
  783. ANSI screen  editor that  is very  easy  to  use.    You  can  download  an
  784. evaluation copy  of TheDraw from the WR-BBS Headquarters BBS and many other
  785. BBS's throughout the world.  Remember to register your copy of TheDraw with
  786. the TheSoft people.
  787.  
  788. When using  TheDraw (or  another ANSI  editor) to  create  WR-BBS  screens,
  789. observe the following:
  790.  
  791.           -  Most screen files should have no more than 21 lines of display
  792.           information. If  you make the display file longer than that, part
  793.           of the display screen will scroll off the remote caller's screen.
  794.           
  795.           -   When saving the file, select "NONE" for line length. You want
  796.           the editor  to place a "real" carriage return and line feed after
  797.           each "real"  line.   With ANSI  escape sequences  imbedded,  each
  798.           "line" of  text can  be a  couple of hundred characters long, but
  799.           should end  with a  conventional CR/LF  sequence. Otherwise,  the
  800.           stream of  characters will be transmitted as one gigantic line of
  801.           text.  Most modern communications programs that callers might use
  802.           to call your board can handle such a long string.  If a caller is
  803.           using a  communications  package  that  does  not  "wrap"  lines,
  804.           sending them  a mega-string  could make  their program misbehave.
  805.           Using "NONE"  for line  length  assures  that  each  time  a  new
  806.           physical line  is to  be drawn,  a carriage  return and line feed
  807.           will precede it.
  808.           
  809.           -  It is possible to make ultra-sophisticated "animated" screens,
  810.           but you  should avoid animation for the menus.  The time it takes
  811.           to transmit  animated screens may be perceived by your callers as
  812.           "wasted" time.   Bulletins  and welcome  files may  benefit  from
  813.           animation, however.
  814.           
  815.           - Select  "0" for  display speed  when saving files with TheDraw.
  816.           You want  maximum  throughput,  since  each  character  is  being
  817.           transmitted via the modem to your caller.
  818.  
  819. Most of WR-BBS's screen files MUST be present for proper operation.  If you
  820. do not  use the  originally supplied  files, use  your own  versions of the
  821. screen files.  Unless indicated as being optional, all screen files must be
  822. present in  either the  home  path,  or  the  path  you  have  defined  (in
  823. WRCONFIG.SYS) for  display files (see "SCREENDIR=" in section 10). For each
  824. screen file,  one with  an extension  of .ASC and one with and extension of
  825. .ANS must  be present.   If  a screen  file is missing, an error message is
  826. displayed to the caller, and an error is logged in the activity file.
  827.  
  828. The file names for screen files used by WR-BBS are:
  829.  
  830.  
  831. BADNAME.ASC and BADNAME.ANS:
  832.                     Displayed to  callers whose  name appears  in the  file
  833.                     NOACCESS.TXT.  The caller is then disconnected.
  834.  
  835. BULL????.ASC and BULL????.ANS:
  836.                     These are the actual bulletin screens.  WR-BBS supports
  837.                     up to 9,999 bulletins, with file names BULL0001.ASC/ANS
  838.                     through BULL9999.ASC/ANS.  The caller selects bulletins
  839.                     by typing in the corresponding number.  For example, if
  840.                     the caller  enters 34,  bulletin file  BULL0034.ASC/ANS
  841.                     will be displayed.
  842.  
  843. BULLMENU.ASC and BULLMENU.ANS:
  844.                     Menu screen which lists available bulletins.
  845.  
  846. CALLVIEW.ASC and CALLVIEW.ANS:
  847.                     This screen  file describes  the options available to a
  848.                     caller when  the "(W)ho  called  recently"  command  is
  849.                     selected from the main menu.
  850.  
  851. CHATFAIL.ASC and CHATFAIL.ANS:
  852.                     Displayed to  caller when  the SysOp  does not answer a
  853.                     chat page request.
  854.  
  855. DOORMENU.ASC and DOORMENU.ANS:
  856.                     Screen file for "doors" menu.  WR-BBS supports up to 26
  857.                     doors.  See also section 13 for detailed information on
  858.                     doors.   If you  configure any  doors, this  screen  is
  859.                     displayed to  the caller  when they choose (D)oors from
  860.                     the  main  menu.    This  screen  describes  the  doors
  861.                     available, which  are identified by letters from "A" to
  862.                     "Z".   The caller,  upon seeing the selection listed in
  863.                     this screen, then selects the desired door.
  864.  
  865. FILELIST.ASC and FILELIST.ANS:
  866.                     When a  caller, in  the Files Library, selects "(L)ist"
  867.                     to see  a listing  of available files, this screen file
  868.                     is transmitted.   It  explains the choices available to
  869.                     the caller for listing files.
  870.  
  871. FILESLIB.ASC and FILESLIB.ANS:
  872.                     Menu  screen  for  file  library  (the  "files"  menu).
  873.                     Displays  caller's  options  for  file  area,  such  as
  874.                     downloading, listing, uploading, etc.
  875.  
  876. GOODBYE.ASC and GOODBYE.ASC:
  877.                     Screen file which is sent to callers after they request
  878.                     a logoff.   This  file should  be less  than 1/2  of  a
  879.                     screen in  length.   This ensures  that the  caller can
  880.                     view the  whole text  of the screen file, even if their
  881.                     communications program  does some  line feeds after the
  882.                     disconnect is  detected. Also,  since some callers will
  883.                     drop carrier  shortly  after  selecting  (G)oodbye  and
  884.                     confirming  their  logoff,  having  a  short  "goodbye"
  885.                     screen eliminates  these callers  from being  logged as
  886.                     "dropped carrier".
  887.  
  888. GREETING.ASC and GREETING.ANS:
  889.                     Screen sent  to callers during logon, immediately after
  890.                     they answer  the question  "Do you  wish to  have  ANSI
  891.                     color?".   This screen should be only a few lines long,
  892.                     and should contain the BBS name.
  893.  
  894. HELPFILE.ASC and HELPFILE.ANS:
  895.                     This screen  is displayed  if a  caller selects  (H)elp
  896.                     from the  Files Library  menu.  Its context is specific
  897.                     to the Files Library functions available in that menu.
  898.  
  899. HELPMAIN.ASC and HELPMAIN.ANS:
  900.                     This screen  is  transmitted  in  response  to  a  user
  901.                     selecting (H)elp  from the Main Menu.  It describes the
  902.                     functions available from the Main Menu.
  903.  
  904. HELPMSGS.ASC and HELPMSGS.ANS:
  905.                     If a  caller requests  (H)elp while viewing the Message
  906.                     System Menu,  this screen  is displayed.   It  contains
  907.                     instructions on  how to use the various features of the
  908.                     WR-BBS message system.
  909.  
  910. HOW2CHAT.ASC and HOW2CHAT.ANS:
  911.                     If a  caller presses  (S)ignal for  chat from  the main
  912.                     menu, the SysOp is alerted by a series of beeps, and is
  913.                     told to  press ENTER to start the chat with the caller.
  914.                     When the  SysOp presses ENTER, this screen is sent, and
  915.                     the  chat   begins.     This  screen  contains  helpful
  916.                     information about  how to  chat without  "stepping"  on
  917.                     each other.
  918.  
  919. MAINMENU.ASC and MAINMENU.ANS:
  920.                     This screen  file comprises  the Main  Menu.  It is the
  921.                     primary screen file seen by callers when on line.
  922.  
  923. MESSAGES.ASC and MESSAGES.ANS:
  924.                     This is  the screen  file for  the Message System menu.
  925.                     It lists  the choices  available to  a caller after the
  926.                     caller selects (M)essage system from the Main Menu.
  927.  
  928. NEWS.ASC and NEWS.ANS:
  929.                     Newsletter  file.    Displayed  to  callers  who  press
  930.                     (N)ewsletter from main menu.
  931.  
  932. NEWUSER.ASC and NEWUSER.ANS:
  933.                     Screen  sent   to  new   users,  before  the  new  user
  934.                     induction.   Use this  to explain  your board's  scope,
  935.                     policies,  or  other  information  that  might  not  be
  936.                     apparent to  a new user, as well as a first welcome for
  937.                     new callers.
  938.  
  939. PASSWORD.ASC and PASSWORD.ANS:
  940.                     Screen explaining  how to  select a password. Displayed
  941.                     to new users during logon, and to established users who
  942.                     want to change their password.
  943.  
  944. SEARCH.ASC and SEARCH.ANS:
  945.                     Screen which explains to callers how to use the various
  946.                     message searching options.
  947.  
  948. SENDMSG.ASC and SENDMSG.ANS:
  949.                     Screen which  explains how  to send  a message, and the
  950.                     addressing options available.
  951.  
  952. SHOWANSI.ASC:
  953.                     Screen  which  demonstrates  ANSI  graphics  to  assist
  954.                     callers in  deciding whether  or  not  they  want  ANSI
  955.                     enabled.   Notice that there is no .ANS counterpart for
  956.                     this display  file.   This is  because the  ANSI screen
  957.                     (for demonstration  to user)  is sent  to all  callers,
  958.                     regardless of current ANSI choice.  Otherwise, non-ANSI
  959.                     callers could  never see  the ANSI demonstration.  This
  960.                     is the  only WR-BBS  screen file  with ANSI colors in a
  961.                     .ASC file.
  962.  
  963. SYSOP.ASC and SYSOP.ANS:
  964.                     This is  the screen file for the SysOp menu.  The SysOp
  965.                     menu is  accessed (only  by the SysOp) by selecting "Z"
  966.                     from the  Main  Menu.    It  lists  the  administration
  967.                     options available to the SysOp while on line.
  968.  
  969. THANKYOU.ASC and THANKYOU.ANS:
  970.                     This screen  is sent after each successful upload.  The
  971.                     text thanks the caller for taking the time to upload to
  972.                     the board.
  973.  
  974. UPLDFAIL.ASC and UPLDFAIL.ANS:
  975.                     This screen  is  displayed  if  a  caller  attempts  an
  976.                     upload, but  for some  reason the  file is not received
  977.                     (or is  incomplete, or  aborted by  the  caller).    It
  978.                     describes the  problem so  that the  caller understands
  979.                     the upload was not successful.
  980.  
  981.  
  982. UPLOAD.ASC and UPLOAD.ANS:
  983.                     After a  caller selects (U)pload from the Files Library
  984.                     menu, this  screen is displayed. It can be used to give
  985.                     instructions on  what types of files are acceptable, or
  986.                     to  remind   the  caller   that  their   time  will  be
  987.                     compensated, etc.
  988.  
  989. WELCOME?.ASC and WELCOME?.ANS:
  990.                     This optional screen file is sent to callers after they
  991.                     have  completed   their  logon   (name,  password,  and
  992.                     statistics check).  There can  be up  to  26  WELCOME?.
  993.                     files, one  for each class of service (COS). The letter
  994.                     following "WELCOME"  in the  filename designates  which
  995.                     COS the  screen is  sent to.  For example, WELCOMEA.ASC
  996.                     and WELCOMEA.ANS will be shown to callers with a class-
  997.                     of-service of  "A", while WELCOMEB.ASC and WELCOMEB.ANS
  998.                     would be  shown to  callers with  a class-of-service of
  999.                     "B", and  so  on.    See  section  11  for  a  detailed
  1000.                     description of  the class-of-service configuration.  If
  1001.                     there is  no welcome file for a particular COS, callers
  1002.                     in that COS do not see any welcome file.
  1003.  
  1004. You do  NOT need  to have  a statement  in your  CONFIG.SYS to load an ANSI
  1005. driver for WR-BBS.  WR-BBS has its own built-in ANSI interpreter.
  1006.  
  1007.           SPECIAL CHARACTERS THAT CAN BE IMBEDDED IN SCREEN FILES
  1008.  
  1009. WR-BBS will  recognize a  special character, the tilde (~) in screen files.
  1010. When this  character is  found in  a WR-BBS screen file, WR-BBS will take a
  1011. specific action  during the  display of  the screen.  The special action is
  1012. based on the character that immediately follows the tilde.
  1013.                             ----------- -------
  1014.  
  1015. CHARACTER
  1016. FOLLOWING
  1017.   TILDE      ACTION
  1018. ---------    ----------------------------------------------------------
  1019.     P        Generates a pause in the screen display
  1020.  
  1021.  
  1022.  
  1023.  
  1024. NOTE:   When you  include a pause command (~P) in a screen file, the output
  1025. pauses exactly  at that  point.   Therefore, you  should only  put a  pause
  1026. command as  the first  character of  a line.   To  paginate a  long display
  1027. screen, place  a pause command (~P) as the first character of every 22nd or
  1028. 23rd line.   Do  not put  the pause command on its own line, or else a line
  1029. feed will  occur after  the pause  (when WR-BBS reads the imbedded carriage
  1030. return from  the file).   Instead, make the pause command a "prefix" to the
  1031. line on which you want the pause to occur.  When a screen file is paused by
  1032. an imbedded pause command, the caller sees the prompt:
  1033.  
  1034.           (PAUSED)  (Q)uit  (N)onstop  (M)ore:
  1035.  
  1036. If the caller presses <ENTER>, it is assumed that they want to continue, so
  1037. the <ENTER>  key is treated the same as if the caller pressed "M" for more.
  1038. If the  caller chooses  (N)onstop, any  additional pause  commands in  that
  1039. screen file are ignored, and the rest of the screen file is streamed to the
  1040. caller, non-stop.  If the caller presses (Q)uit, the screen file display is
  1041. aborted, and  WR-BBS presents  the next  action or screen to the caller.  A
  1042. few WR-BBS  screens (such as GREETING, PASSWORD) cannot be aborted with the
  1043. (Q)uit command  from a  caller, but  can be  paused with  an imbedded pause
  1044. command (~P).   If  the caller  selects (Q)  in a  "non-quittable" (system)
  1045. screen, output will continue as if they selected (M)ore.
  1046.  
  1047. ===========================================================================
  1048. SECTION 8                                                            WR.BAT
  1049. ===========================================================================
  1050.  
  1051. It is  possible to start WR-BBS by simply typing WRBBS at the command line,
  1052. from the  home path  directory.   This is  NOT recommended,  however.   For
  1053. maximum flexibility  and control, the use of a batch file to control WR-BBS
  1054. is recommended.  A sample batch file, WR.BAT, is included with the original
  1055. distribution of  WR-BBS files.  You can use this file without modification,
  1056. or edit  it for your site-specific requirements.  Using WR.BAT provides the
  1057. following advantages:
  1058.  
  1059.           - If  WR-BBS operation  is disrupted  due  to  an  error  in  the
  1060.           program, the  batch file  will detect  the  DOS  errorlevel,  and
  1061.           automatically restart  WR-BBS, without  human intervention. (If a
  1062.           batch file  is not  used, the  system would  just return  to  the
  1063.           command line,  and not  answer any  calls until a human restarted
  1064.           WR-BBS).
  1065.           
  1066.           - If  you schedule events which require termination (and restart)
  1067.           of WR-BBS,  the BBS  will not  restart properly unless WR-BBS was
  1068.           originally started  under the  control of  a batch  file such  as
  1069.           WR.BAT. See section 17 for more information on events.
  1070.  
  1071. A  freeware   utility  file,  WDELAY.EXE,  is  included  with  your  WR-BBS
  1072. distribution package.   This  utility is called by WR.BAT when it starts to
  1073. load WR-BBS.  This utility simply affords the local operator an opportunity
  1074. to cancel the batch file by pressing ESC within the designated time.  Press
  1075. <ENTER> when  prompted to  jump past  WDELAY.  If no key is pressed, WDELAY
  1076. will start  WR-BBS after  the  delay,  which  allows  unattended  restarts.
  1077. Unlike WR-BBS, the WDELAY utility requires no registration, and can be used
  1078. indefinitely with no obligation.
  1079.  
  1080. WR.BAT is  based on  the fact  that WR-BBS  sets a different DOS ERRORLEVEL
  1081. depending on  the reason  it terminated.   Based on that errorlevel, WR.BAT
  1082. branches to  the appropriate  label in the batch file, and either re-starts
  1083. WR-BBS, runs  a "terminate  event", or  simply ends.   (See  section 17 for
  1084. information on  terminate events). The possible errorlevels returned by WR-
  1085. BBS are:
  1086.  
  1087. 0            Normal termination (requested by local console)
  1088. 1 to 17      Runtime error - operating system or file access error
  1089. 84 to 99     Scheduled termination for configured external event
  1090. 100 to 106   Runtime error - file or I/O error
  1091. 150 to 162   Runtime error - critical file access error
  1092. 200 to 214   Runtime error - critical program or logic error
  1093. 254 to 255   Runtime error - internal WR-BBS debug halt
  1094.  
  1095. WR-BBS does  its own  error handling,  and is able to recover automatically
  1096. (without terminating) from most minor runtime errors.  Any fatal errors are
  1097. captured by WR-BBS's critical error handler, and logged in the activity log
  1098. (if possible)  prior to WR-BBS terminating with the appropriate errorlevel.
  1099. A screen  is also displayed by WR-BBS when a critical error occurs, showing
  1100. the error  code and  process ID.   If a caller is connected when a critical
  1101. error occurs,  a message  is transmitted to the caller, explaining that the
  1102. system is going off-line briefly, and requesting that they call back.
  1103.  
  1104. Critical errors  are rare, and are usually due to external influences, such
  1105. as corrupted memory, or database files being deleted or damaged.  But, with
  1106. WR-BBS's built-in  critical error  handler, you  should never experience an
  1107. error that simply crashes the program with no clue as to what happened.
  1108.  
  1109. ===========================================================================
  1110. SECTION 9                                                ... THE FIRST TIME
  1111. ===========================================================================
  1112.  
  1113. Before you  run WR-BBS  for the  first time, you must create an initialized
  1114. set of  database files  for WR-BBS to work with.  This is an extremely easy
  1115. process, and  takes less than a minute.  Initialized (empty) database files
  1116. are not  provided with  the WR-BBS  distribution package,  since WR-BBS  is
  1117. capable of  creating an  initialized database  on request.   To  create the
  1118. initialized database, do the following:
  1119.  
  1120.           1.   Change directories  to make the WR-BBS home path the current
  1121.                     directory.
  1122.           
  1123.           2.  At the command line, type WRBBS /INIT and then press <ENTER>.
  1124.           
  1125.           3.  Answer the confirmation by typing OKAY and pressing <ENTER>.
  1126.  
  1127. WR-BBS will then create the following files:
  1128.  
  1129. WRBBSUSR.DAT
  1130.           This is  the database  file where  user (caller)  information  is
  1131.           stored.
  1132.  
  1133. WRBBSMSG.DAT
  1134.           This file  contains the  message system  database (but not actual
  1135.           messages), with  pointers to  the files  that contain  the actual
  1136.           message text.
  1137.  
  1138. WRBBSLIB.DAT
  1139.           The Files  Library database  is stored  in this  file.   All file
  1140.           descriptions and attributes are written to this file.
  1141.  
  1142. WRBBSPEG.DAT
  1143.           This file  stores statistical  (peg count) data about your WR-BBS
  1144.           system, including  the number  of calls  answered, calls answered
  1145.           today, new messages, etc.
  1146.  
  1147. WRBBSDBF.DAT
  1148.           This file  is used  to record  the status of the WR-BBS database.
  1149.           The W-TREE  database manager  uses this  file to determine if the
  1150.           system was  shut down  in an  orderly manner.  If it was not, the
  1151.           indices  are  rebuilt  automatically  the  next  time  WR-BBS  is
  1152.           restarted.
  1153.  
  1154. After you  have created  the  initialized  database,  WR-BBS  is  ready  to
  1155. configure.   The database  files that were created will have a minimal size
  1156. (0 bytes for some of the files).
  1157.  
  1158. IMPORTANT:   If you  have a  working database,  and request that the WR-BBS
  1159. database be initialized, all data in the database will be PERMANENTLY LOST.
  1160. Do not  request initialization  unless you  are installing  WR-BBS for  the
  1161. first time, or you wish to start over again with an empty database.
  1162.  
  1163. After creating  an initialized  database, WR-BBS  automatically creates the
  1164. user index  file, WRBBSUSR.IDX,  and a new activity log file, WRBBSLOG.TXT,
  1165. when WR-BBS is started up.
  1166.  
  1167. With an  initialized database,  your WR-BBS  system will  have exactly zero
  1168. users on  file, no  files or  messages in  the database, and no statistics.
  1169. After you  finish configuring  WR-BBS, start  WR-BBS by typing WR, wait for
  1170. the startup  process to complete, and then log on locally by pressing ALT-L
  1171. from the main screen (or the screen saver screen).  The first person to log
  1172. onto your  new WR-BBS  system should  be the  SysOp  whose  name  you  have
  1173. configured in WRCONFIG.SYS (see section 10).
  1174.  
  1175. ===========================================================================
  1176. SECTION 10                                               CONFIGURING WR-BBS
  1177. ===========================================================================
  1178.  
  1179. Almost all  of the  configuration required to make WR-BBS operation is done
  1180. by editing  the text  file WRCONFIG.SYS.   This file must exist in the home
  1181. path directory.   When you edit this file, use an ASCII-capable editor or a
  1182. word processor  that can  save documents in straight ASCII format.  If your
  1183. word processor  inserts proprietary  control  codes,  WR-BBS  will  try  to
  1184. interpret these  codes as  configuration instructions,  and this will cause
  1185. unpredictable and  undesirable results.  The copy of WRCONFIG.SYS that came
  1186. with your  new WR-BBS  distribution has  SAMPLE  values  for  many  of  the
  1187. configuration items.   You  will need to change some of these to match your
  1188. implementation and your specific system.
  1189.  
  1190. WR-BBS will  attempt to  interpret any  line that  appears in WRCONFIG.SYS,
  1191. unless that  line starts with a single apostrophe (') or the keyword "REM",
  1192. which is  short for remark.  Any lines that start with one of those special
  1193. identifiers is  ignored by  WR-BBS.  This allows you to insert comments and
  1194. notes as  you make  changes.   It also  allows  you  to  remove  a  complex
  1195. configuration entry  from WR-BBS's  view by prefixing a REM in front of the
  1196. line.   This is  helpful if you want to experiment with different settings,
  1197. without worrying  about losing  complex configuration  strings that you may
  1198. have entered.
  1199.  
  1200. Each of  the entries that can be included in WRCONFIG.SYS is listed in this
  1201. section.   Some of the entries are not required unless you are implementing
  1202. special optional features.  For example, if you do not wish to have "doors"
  1203. on your  WR-BBS system,  you can  omit  (or  remark  out)  all  entries  in
  1204. WRCONFIG.SYS that  start with  "DOOR=".   Some entries  in WRCONFIG.SYS are
  1205. required, however, for proper operation.  These include the BBSNAME, SYSOP,
  1206. and other site-specific details.
  1207.  
  1208. ---------------------------------------------------------------------------
  1209. ANSWERCOMMAND=                                                  DEFAULT=ATA
  1210.  
  1211. This entry  allows you  to configure WR-BBS for the command that your modem
  1212. requires to  answer a  call.   99% of all modems use the command "ATA".  If
  1213. your modem uses "ATA" for an answer command, you can omit this line, as the
  1214. default is also "ATA".  If your modem requires some other command to answer
  1215. a ringing  call, you  must insert  the appropriate string in this entry for
  1216. proper operation.
  1217.  
  1218. IMPORTANT:   This entry  is for the command your modem requires to make the
  1219. modem go  off-hook under  software (WR-BBS) control in response to ringing.
  1220. This is  not the  same as  the "auto  answer" command.   Do  NOT insert  an
  1221. automatic answer  command string  in this entry (such as ATS0=1), or WR-BBS
  1222. will not answer calls properly.  This applies regardless of the RINGDETECT=
  1223. entry you may be using.
  1224.  
  1225. ---------------------------------------------------------------------------
  1226. BADDOOR=                                                          DEFAULT=N
  1227.  
  1228. If you  do not  plan to have "doors" or you do not have an error-correcting
  1229. modem, then  this entry  does not  apply, and  you can  skip it,  using the
  1230. default setting of "N".  This configuration item is to correct a deficiency
  1231. in some  door programs  that do not properly read the DOOR.SYS file.  These
  1232. incorrectly-written door  programs read  the caller's  connect  speed  from
  1233. DOOR.SYS rather  than the  DTE speed,  and then  they (incorrectly)  adjust
  1234. their own baud rate to the caller's speed, which is wrong.  The caller gets
  1235. screenfuls of  garbage, and  has to drop carrier, since they cannot issue a
  1236. quit command.  This phenomena only occurs if you have one of these BAD DOOR
  1237. programs, and  are using an error-correcting modem with the DTE locked at a
  1238. speed which  is different  than the  caller's.  If you make BADDOOR=Y, then
  1239. WR-BBS fools  the bad door by inserting the DTE speed in DOOR.SYS where the
  1240. caller's speed would normally appear.
  1241.  
  1242. Setting BADDOOR=Y is a workaround to compensate for sloppy programming that
  1243. was done  by the  door program  author.  Complain to the author of the door
  1244. program to  get the problem fixed.  This setting affects ALL doors that are
  1245. configured on  WR-BBS.   If you have a bad door among several "good" doors,
  1246. you really have only three choices:
  1247.  
  1248.           1.  Compromise all doors by setting BADDOOR=Y.  Some doors (which
  1249.                     WERE written  properly) may  then malfunction,  because
  1250.                     DOOR.SYS will then be wrong.
  1251.           
  1252.           2.   Stop  using  the  bad  software  (the  poorly  written  door
  1253.                     program).
  1254.           
  1255.           3.  Modify a batch file and/or use a door manager to fool the bad
  1256.                     door into working properly.
  1257.  
  1258. ---------------------------------------------------------------------------
  1259. BBSNAME=                                                         NO DEFAULT
  1260.  
  1261. Insert your  board's name.   Up  to 48  characters can  be used.  The value
  1262. assigned to   BBSNAME  appears at various points during a caller's session,
  1263. and on the default screen while WR-BBS is waiting for calls.  If you do not
  1264. configure this  item, WR-BBS will display "BBS NAME NOT CONFIGURED" in lieu
  1265. of a  BBS name.   The  BBSNAME entry is displayed in the appropriate places
  1266. whether or not you have registered your copy of WR-BBS.
  1267.  
  1268. ---------------------------------------------------------------------------
  1269. BULLETINS=                                                      DEFAULT: 32
  1270.  
  1271. This must  be a  number from  0 to  999, indicating the number of bulletins
  1272. that you  expect to  have available.   WR-BBS will search the home path (or
  1273. directory designated  in SCREENDIR=)  for this number of bulletin files, so
  1274. this value  should represent the real number of bulletins you have to avoid
  1275. needless DOS  file searching.    Although  it  is  possible  to  have,  say
  1276. BULLETINS=500, and  only four actual bulletins, callers will have to endure
  1277. a delay while WR-BBS searches for the non-existent 496 bulletins.
  1278.  
  1279. ---------------------------------------------------------------------------
  1280. BUSYLINE=                                                        DEFAULT: N
  1281.  
  1282. This entry  determines whether  or not WR-BBS makes the telephone line busy
  1283. when it  cannot process  calls.  Enter Y for yes, or N for no.  If your WR-
  1284. BBS system has its own exclusive telephone line, you may wish to enter Y so
  1285. that the  line is busy during events, while recycling, during local logons,
  1286. and when  WR-BBS is  terminated.   If  WR-BBS  shares  a  phone  line  with
  1287. something (or  someone) else, you must enter N to avoid disabling the phone
  1288. line needlessly for other devices or people.
  1289.  
  1290. ---------------------------------------------------------------------------
  1291. CALL_LOG=                                                         DEFAULT=?
  1292.  
  1293. WR-BBS has  a call  log feature, which allows callers to see who has called
  1294. the board  recently.   If you enable this feature, callers can select it by
  1295. pressing "W"  for (W)ho  Called Recently from the Main Menu.  When enabled,
  1296. WR-BBS creates  and appends  a text  file called  CALLSLOG.TXT, in the home
  1297. path.   The contents  of this file are displayed (in a configurable format)
  1298. when a caller chooses this feature.  The following are valid settings:
  1299.  
  1300.      CALL_LOG=N
  1301.           No calls  will be logged in CALLSLOG.TXT, and callers will not be
  1302.           able to  select this  feature.  If you set CALL_LOG=N, you should
  1303.           edit your  MAINMENU.ASC and  MAINMENU.ANS screens  to exclude the
  1304.           (W)ho Called  Recently option.   Note that calls are still logged
  1305.           normally in  WRBBSLOG.TXT regardless of the setting for CALL_LOG.
  1306.           The CALL_LOG keyword only affects the log that callers can view.
  1307.      
  1308.      CALL_LOG=?
  1309.           Callers who  choose (W)ho  Called Recently are prompted to choose
  1310.           either a "forward view" or a "reverse view" of the call log file.
  1311.           A forward  view gives the quickest output, but lists oldest calls
  1312.           first (since  the are  the first  calls logged.   A  reverse view
  1313.           lists the  most recent  calls first.   Since CALLSLOG.TXT must be
  1314.           traversed repeatedly to achieve "last in, first out" output, this
  1315.           is somewhat  slower than  the forward view, especially on systems
  1316.           with high traffic (and a large CALLSLOG.TXT).
  1317.      
  1318.      CALL_LOG=F
  1319.           Automatically presents  a "forward  view" as  soon as  the caller
  1320.           selects (W)ho Called Recently from the Main Menu.
  1321.      
  1322.      CALL_LOG=R
  1323.           Automatically presents  a "reverse  view" as  soon as  the caller
  1324.           selects (W)ho Called Recently from the Main Menu.
  1325.      
  1326. If CALL_LOG  is set to an invalid value, or if the entry does not appear in
  1327. WRCONFIG.SYS, the default of CALL_LOG=? is used.
  1328.  
  1329. If you  have a slow computer, slow drive, or are not using a cache, you may
  1330. find that CALL_LOG=F is the most efficient display method.
  1331.  
  1332. ---------------------------------------------------------------------------
  1333. CARRIERWAIT=                                                     DEFAULT=45
  1334.  
  1335. This setting  tells WR-BBS  how long (in seconds) to wait for carrier after
  1336. answering an  incoming call.   Valid  values are  15 to  255 seconds.    45
  1337. seconds is  a good  setting for most installations.  Carrier usually occurs
  1338. within 25 seconds of a call ringing - if not, it's usually not a data call,
  1339. and waiting  much longer than 45 seconds will just waste time.  If you have
  1340. an error-correcting  modem that  goes through  lengthy summit  negotiations
  1341. before reporting  that carrier  is present,  you may  have to lengthen this
  1342. value to 60 or more seconds.
  1343.  
  1344. ---------------------------------------------------------------------------
  1345. CGA_STOP_SNOW=                                                   DEFAULT: N
  1346.  
  1347. For 99%  of all  installations, enter  N for  no on  this line.    If  your
  1348. computer has  an older CGA display, and you see "specks" on the screen when
  1349. WR-BBS is  writing to  the display,  then entering Y for yes here will stop
  1350. the "snow", but slow down screen updates.
  1351.  
  1352. ---------------------------------------------------------------------------
  1353. CONNECT300=                                                DEFAULT: CONNECT
  1354.  
  1355. Enter the  verbose result  code that  your modem  sends  when  a  300  baud
  1356. connection is established.  Most modems send "CONNECT".  If your modem does
  1357. not support  300 baud connections, then make CONNECT300=IMPOSSIBLE to avoid
  1358. any possibility of line noise being mis-interpreted.
  1359.  
  1360. ---------------------------------------------------------------------------
  1361. CONNECT1200=                                          DEFAULT: CONNECT 1200
  1362.  
  1363. Enter the  verbose result  code that  your modem  sends when  a  1200  baud
  1364. connection is established.  Most modems send "CONNECT 1200".  If your modem
  1365. does not support 1200 baud connections, then make CONNECT1200=IMPOSSIBLE to
  1366. avoid any possibility of line noise being mis-interpreted.
  1367.  
  1368. ---------------------------------------------------------------------------
  1369. CONNECT2400=                                          DEFAULT: CONNECT 2400
  1370.  
  1371. Enter the  verbose result  code that  your modem  sends when  a  2400  baud
  1372. connection is established.  Most modems send "CONNECT 2400".  If your modem
  1373. does not support 2400 baud connections, then make CONNECT2400=IMPOSSIBLE to
  1374. avoid any possibility of line noise being mis-interpreted.
  1375.  
  1376. ---------------------------------------------------------------------------
  1377. CONNECT4800=                                          DEFAULT: CONNECT 4800
  1378.  
  1379. Enter the  verbose result  code that  your modem  sends when  a  4800  baud
  1380. connection is established.  Most modems send "CONNECT 4800".  If your modem
  1381. does not support 4800 baud connections, then make CONNECT4800=IMPOSSIBLE to
  1382. avoid any possibility of line noise being mis-interpreted.
  1383.  
  1384. ---------------------------------------------------------------------------
  1385. CONNECT9600=                                          DEFAULT: CONNECT 9600
  1386.  
  1387. Enter the  verbose result  code that  your modem  sends when  a  9600  baud
  1388. connection is established.  Most modems send "CONNECT 9600".  If your modem
  1389. does not support 9600 baud connections, then make CONNECT9600=IMPOSSIBLE to
  1390. avoid any possibility of line noise being mis-interpreted.
  1391.  
  1392. ---------------------------------------------------------------------------
  1393. CONNECT12000=                                        DEFAULT: CONNECT 12000
  1394.  
  1395. Enter the  verbose result  code that  your modem  sends when  a 12000  baud
  1396. connection is established.  Most modems send "CONNECT 12000". If your modem
  1397. does not  support 12000 baud connections, then make CONNECT12000=IMPOSSIBLE
  1398. to avoid any possibility of line noise being mis-interpreted.
  1399.  
  1400.  
  1401. ---------------------------------------------------------------------------
  1402. CONNECT14400=                                        DEFAULT: CONNECT 14400
  1403.  
  1404. Enter the  verbose result  code that  your modem  sends when  a 14400  baud
  1405. connection is  established.   Most modems  send "CONNECT 14400" or "CONNECT
  1406. 144".   If your  modem does  not support  14400 baud connections, then make
  1407. CONNECT14400=IMPOSSIBLE to  avoid any  possibility of line noise being mis-
  1408. interpreted.
  1409.  
  1410. ---------------------------------------------------------------------------
  1411. CONNECT19200=                                        DEFAULT: CONNECT 19200
  1412.  
  1413. Enter the  verbose result  code that  your modem  sends when  a 19200  baud
  1414. connection is established.  Most modems send "CONNECT 19200" or "HICONNECT"
  1415. If  your   modem  does  not  support  19200  baud  connections,  then  make
  1416. CONNECT19200=IMPOSSIBLE to  avoid any  possibility of line noise being mis-
  1417. interpreted.
  1418.  
  1419. ---------------------------------------------------------------------------
  1420. CONNECT38400=                                        DEFAULT: CONNECT 38400
  1421.  
  1422. Enter the  verbose result  code that  your modem  sends when  a 38400  baud
  1423. connection is established.  Most modems send "CONNECT 38400". If your modem
  1424. does not  support 38400 baud connections, then make CONNECT38400=IMPOSSIBLE
  1425. to avoid any possibility of line noise being mis-interpreted.
  1426.  
  1427. ---------------------------------------------------------------------------
  1428. CONNECT57600=                                        DEFAULT: CONNECT 57600
  1429.  
  1430. Enter the  verbose result  code that  your modem  sends when  a 57600  baud
  1431. connection is established.  Most modems send "CONNECT 57600". If your modem
  1432. does not  support 57600 baud connections, then make CONNECT57600=IMPOSSIBLE
  1433. to avoid any possibility of line noise being mis-interpreted.
  1434.  
  1435. ---------------------------------------------------------------------------
  1436. CTSFLOW=                                                          DEFAULT=N
  1437.  
  1438. This setting controls whether WR-BBS should pay attention to the CTS (Clear
  1439. To Send)  flow control  signal from the modem.  If your modem has a maximum
  1440. speed of  2400 baud  or less, it is unlikely that the modem will ever lower
  1441. its CTS signal (which tells the computer to stop sending data).
  1442.  
  1443. On the  other hand,  high-speed modems, especially error-correcting modems,
  1444. need CTS control because they typically work with a fixed (locked) DTE baud
  1445. rate, regardless  of the  caller's connect speed.  If a caller is connected
  1446. at 2400 baud and the DTE speed is locked at 38,400, it doesn't take long to
  1447. fill the modem's buffer.  The modem then drops the CTS line, signalling the
  1448. computer to stop sending data for a while.  When the modem's buffer empties
  1449. out (as  the buffered  data is transmitted to the caller), the modem raises
  1450. the CTS  line, signalling  the computer  that it  can  again  accept  data.
  1451. Without such  a signalling  means, the modem would overflow, and data would
  1452. be lost.
  1453.  
  1454. Why not  just set  WR-BBS to always observe CTS with CTSFLOW=Y ?  There can
  1455. be some  drawbacks to  using CTS flow control, so you will probably want to
  1456. leave CTSFLOW=N  unless you  really need  CTS flow  control.   The constant
  1457. interrupt  servicing   necessary  to  watch  CTS  causes  slightly  reduced
  1458. throughput.   If your  DTE is  locked at  a high  speed (such  as 14,400 or
  1459. higher), this  reduction in output is negligible.  At slower speeds, it may
  1460. be noticeable.   The  interrupt overhead  may also  make some  disk caching
  1461. utilities slow  down, especially  if they  use exTENDed  memory instead  of
  1462. exPANDed memory.
  1463.  
  1464. ---------------------------------------------------------------------------
  1465. DOOR=                                                           NO DEFAULTS
  1466.  
  1467. See section 13 for complete details on setting up doors.
  1468.  
  1469. ---------------------------------------------------------------------------
  1470. ERRORFREE=                                                       NO DEFAULT
  1471.  
  1472. Enter the  result code  that your modem sends when an error free connection
  1473. is established.   Most  error-correcting modems  send  "/MNP",  "/ARQ",  or
  1474. "/REL" to  signify such  a connection.    If  you  do  not  have  an  error
  1475. correcting modem,  then make ERRORFREE=IMPOSSIBLE to avoid false error-free
  1476. detection if  random matching  characters should  appear.   This string  is
  1477. usually a suffix to the regular connect string, such as "CONNECT 2400 /ARQ"
  1478. or "CONNECT 9600 /REL".
  1479.  
  1480. ---------------------------------------------------------------------------
  1481. EVENT=                                                                  N/A
  1482.  
  1483. See section 17 for detailed instructions on configuring events.
  1484.  
  1485. ---------------------------------------------------------------------------
  1486. FILEAREA=                                                        NO DEFAULT
  1487.  
  1488. There can  be up  to 26  file areas  defined.   Each one is identified by a
  1489. unique letter  (from A  to Z)  and a  descriptive name.    The  file  areas
  1490. comprise your  "library" of  files available  for callers  to download.  By
  1491. having (up  to 26)  distinct file  areas, you can group your files by type.
  1492. For example, area "A" might be files that are of interest to Windows users,
  1493. while area "B" contains Games, with Recipes in area "C", and so on.  Having
  1494. a well-thought-out  file library  will make your WR-BBS easy for callers to
  1495. navigate, and ensure that files get the visibility you wish them to have.
  1496.  
  1497. It is not mandatory that any file areas be defined, but callers will not be
  1498. able to  upload (or  download) files unless at least one file area has been
  1499. defined.   This might  be satisfactory if you want to run a "messages only"
  1500. type of  BBS.   Otherwise, you will probably want to configure at least two
  1501. file areas;   One  area to  receive new  uploads, and at least one area for
  1502. callers to download files from.
  1503.  
  1504. To define  a file  area,  enter  a  line  in  WRCONFIG.SYS  containing  the
  1505. following, with each item separated by a pipe (|) symbol:
  1506.  
  1507.      1.  The string FILEAREA=
  1508.      
  1509.      2.  The unique letter (A to Z) you wish to assign to that file area.
  1510.      
  1511.      3.   A descriptive name for that file area, such as "Astronomy Files",
  1512.           "Games for  Children", or  "DOS Utility Files".  This descriptive
  1513.           name can be up to 48 characters in length.
  1514.      
  1515.      4.   The full  path to  that file  area.   This must  be a  valid  DOS
  1516.           directory. This  directory (only)  will be  searched when  a file
  1517.           download is  requested by  a caller.  If the  specified directory
  1518.           does not exist, an error will occur when WR-BBS is started.
  1519.      
  1520.      5.   A string  of letters  (A to Z), representing the class-of-service
  1521.           required for a caller to access the files in that area.  To allow
  1522.           all classes-of-service  to access  this are,  the string would be
  1523.           "ABCDEFGHIJKLMNOPQRSTUVWXYZ".     See  section  11  for  detailed
  1524.           information on setting up classes of service.
  1525.  
  1526. Some examples:
  1527.  
  1528.      FILEAREA=A|Flight Simulator Utilities|C:\WR-BBS\FSUTILS|ABCDE
  1529.  
  1530. In the  above example,  a  file  area  designated  as  "A"  references  the
  1531. directory C:\FSUTILS.   The  name that  will be  displayed  to  callers  is
  1532. "Flight Simulator  Utilities".   Callers having a class-of-service of A, B,
  1533. C, D,  or E  can access  this file  area.   Callers with  other classes-of-
  1534. service (such as "Z") will not be able to access this file area.
  1535.  
  1536.      FILEAREA=B|Games|D:\GAMES|ABCDEFGHIJKLMNOPQRSTUVWXYZ
  1537.  
  1538. In the  above example, file area "B" references the directory D:\GAMES. Any
  1539. caller can  access this  area, as all 26 class-of-service letters have been
  1540. included in the COS string.
  1541.  
  1542.      FILEAREA=C|SysOp Only!|C:\FORSYSOP|Q
  1543.  
  1544. In  the   above  example,  file  area  "C"  references  a  directory  named
  1545. C:\FORSYSOP.   This is  a private file area.  In this example, the SysOp is
  1546. the only  caller with  a class-of-service of "Q", therefore, only the SysOp
  1547. can access this file area.
  1548.  
  1549. Careful planning  of your  classes of  service will  allow you  to offer  a
  1550. flexible file  library to  your callers,  restricting unauthorized  callers
  1551. from files  that they  should not  access.  Section 11, which describes the
  1552. class-of-service concept, is recommended reading for new WR-BBS SysOps.
  1553.  
  1554. The entries  that you  put in WRCONFIG.SYS to configure your file areas may
  1555. exceed the  normal line  size of your editor.  The directory path can be up
  1556. to 64  characters, and the descriptive name can be up to 48 characters.  If
  1557. your entry exceeds 79 characters, it is important that your editor keep the
  1558. long entry  as ONE  line, with  no imbedded  carriage  return  or  linefeed
  1559. characters.  The entire entry cannot exceed 128 characters.
  1560.  
  1561. ---------------------------------------------------------------------------
  1562. GOODBYE_DELAY=                                                    DEFAULT=1
  1563.  
  1564. This parameter  controls how  long WR-BBS  waits, after sending the GOODBYE
  1565. screen, before  actually dropping  the call  (lowering DTR).  If you do not
  1566. have an  error correcting  modem,  the  default  setting  of  1  second  is
  1567. adequate.   If you  have an  error correcting modem, the caller may not see
  1568. the entire  GOODBYE screen unless you extend the number of seconds that WR-
  1569. BBS waits  before it  drops carrier after sending the GOODBYE screen.  This
  1570. is because  it only  takes a  few milliseconds  for WR-BBS  to transmit the
  1571. GOODBYE screen (at very high baud rates typical of error-correcting modems)
  1572. but the  remote caller's  communications program will usually stop updating
  1573. the caller's  screen as  soon as  their modem detects that WR-BBS has ended
  1574. the call.   Valid  values for  this setting  are from  1 to  9 seconds.  It
  1575. cannot be set to 0 seconds.
  1576.  
  1577. ---------------------------------------------------------------------------
  1578. INBUFFER=                                                      DEFAULT=2048
  1579.  
  1580. This is an optional entry.  It determines the size of the serial I/O buffer
  1581. that WR-BBS  sets up in memory.  2048 is usually a good value to use.  This
  1582. means that  WR-BBS's communications  port handler  will buffer  up to  2048
  1583. characters until  WR-BBS can  process them.   Usually,  no more  than a few
  1584. characters are ever buffered for input.  The buffer can be set to any whole
  1585. number from  128 to  32767.   The higher  this number,  the more  memory is
  1586. needed by  WR-BBS (a  32767 character  buffer takes 32K of additional ram).
  1587. If this  value is  too low,  a buffer  over-run may occur.  An over-run, at
  1588. best, means  that some input characters will be lost.  In severe cases, WR-
  1589. BBS could crash due to heap corruption.
  1590.  
  1591. If you  use a  multi-tasking environment,  such as  DESQview, an  OS/2  DOS
  1592. Window, or Microsoft Windows, it is possible that WR-BBS may not get enough
  1593. processor cycles  to unload  the buffer  in a  timely  fashion  if  another
  1594. process is bogging the system down.  If this is likely, increase the buffer
  1595. size slightly (try 8000).
  1596.  
  1597. Unless you  run multiple  applications under  a multi-tasker,  or you  have
  1598. problems with  buffer over-runs,  its best not to change INBUFFER= from the
  1599. default setting.
  1600.  
  1601. ---------------------------------------------------------------------------
  1602. INITBAUD=                                                      DEFAULT=2400
  1603.  
  1604. This value  is the  speed (baud rate) at which you modem expects to receive
  1605. off-line initialization  commands.   For most (but not all) modems, this is
  1606. the same  as their  maximum operating  speed.   When WR-BBS  starts up, and
  1607. after each  call, initialization commands are sent to the modem.  The value
  1608. you define  for INITBAUD= determines the speed used by WR-BBS to send those
  1609. commands.   For most  error-correcting modems, including those that support
  1610. v32, v42,  MNP, and  ARQ transmission,  the INITBAUD= setting should be the
  1611. modem's "link"  speed.   This is  the speed  at which  the  modem  normally
  1612. communicates with  the computer  (and vice  versa).   Most error-correcting
  1613. modems use  one speed  for all computer-to-modem and modem-to-computer data
  1614. transmissions, regardless  of the  actual connect  speed.   For  additional
  1615. information, see the entry for LOCKDTE=.
  1616.  
  1617. ---------------------------------------------------------------------------
  1618. LICENSEE=                                                        NO DEFAULT
  1619.  
  1620. If you  have registered  your copy  of WR-BBS,  enter your  registered name
  1621. after  the   equal  sign,  exactly  as  it  appears  on  your  registration
  1622. confirmation.   You must  also  enter  the  special  registration  code  in
  1623. conjunction with  the REGISTRATION=  parameter  (described  later  in  this
  1624. section.   Make sure  both are entered correctly.  Having correct values in
  1625. the LICENSEE=  and REGISTRATION=  lines will  stop WR-BBS  from  displaying
  1626. "EVALUATION ONLY"  when callers log on and log off.  Your registration name
  1627. will be displayed instead.
  1628.  
  1629. ---------------------------------------------------------------------------
  1630. LOCKDTE=                                                          DEFAULT=N
  1631.  
  1632. This is  for error-correcting  modems.   If  you  do  not  have  an  error-
  1633. correcting modem,  set LOCKDTE=N,  or omit  this  line  from  WRCONFIG.SYS.
  1634. Error-correcting modems  can be identified by the transmission methods that
  1635. they support, typically V.32bis, V.42bis, MNP, "reliable", and ARQ.  Almost
  1636. all modems  that work at speeds above 4800 baud are of the error-correcting
  1637. type.
  1638.  
  1639. Error-correcting modems, with few exceptions, use "locked DTE".  This means
  1640. that the data stream from the computer to the modem, and vice-versa, always
  1641. occurs at  a fixed  speed (such  as 19,200, 38,400, or 57,600).  DTE stands
  1642. for Data  Terminal Equipment,  which is what your computer is to the modem.
  1643. This constant DTE speed is locked at the same value at all times regardless
  1644. of the  caller's actual  connect rate.   For  example, if  you are using an
  1645. error-correcting modem,  and have  the DTE  locked at  14,400, WR-BBS  will
  1646. communicate with  the modem  at 14,400  regardless of  who is on line or at
  1647. what speed.   Even  a 300  baud connection will result in computer-to-modem
  1648. and  modem-to-computer  communications  at  14,400  baud;  the  modem  will
  1649. automatically adjust  its interface with the caller to their connected baud
  1650. rate.   Also, all  modem commands  (including initialization  and recycling
  1651. commands) are sent at the locked DTE speed.
  1652.  
  1653. If  you   are  using   an  error-correcting  modem,  consult  your  modem's
  1654. documentation for  the proper locked DTE speed to use, and set INITBAUD= to
  1655. this value.  Also set LOCKDTE=Y.
  1656.  
  1657. NOTE:   If LOCKDTE=Y  and your modem is not an error-correcting type (or is
  1658. not set up properly), callers will receive garbage unless they happen to be
  1659. calling at the modem's locked DTE speed.
  1660.  
  1661. ---------------------------------------------------------------------------
  1662. LOGONALARM=                                                       DEFAULT=N
  1663.  
  1664. Enter Y  for yes  if you  want WR-BBS to alert you to each logon with a one
  1665. second warble tone.  When N is set, no tone is heard when a logon occurs.
  1666.  
  1667. ---------------------------------------------------------------------------
  1668. MAXBAUD=                                                       DEFAULT=2400
  1669.  
  1670. Enter the maximum speed (baud) at which your modem is capable of operating.
  1671. Depending on  your modem's  make and  model, this  may  be  different  from
  1672. INITBAUD=.   For error-correcting  modems, enter  the modem's DTE or "link"
  1673. speed.
  1674.  
  1675. ---------------------------------------------------------------------------
  1676. MINSPACE=                                                         DEFAULT=1
  1677.  
  1678. This entry  tells WR-BBS  the minimum number of megabytes that must be free
  1679. on the  hard drive  in order for any uploads to be accepted.  When a caller
  1680. chooses the  (U)pload option  from the  files menu,  WR-BBS checks the free
  1681. space on the drive.  If the number of megabytes available is less that what
  1682. you have  specified in  MINSPACE=, then the caller is told that there is no
  1683. space available  for the  upload.   This allows  you to keep a "cushion" of
  1684. free space  to allow  the data files to grow, etc.  If MINSPACE=0, then WR-
  1685. BBS will  allow an  upload regardless  of the space available on the drive.
  1686. When checking  free space, WR-BBS uses the drive letter that appears in the
  1687. home path  environment variable  that you have set in DOS.  For example, if
  1688. your home  path is  C:\WR-BBS, and you have set MINSPACE=5, then there must
  1689. be at  least 5  megabytes of free space available on C: or else WR-BBS will
  1690. not allow any uploads.
  1691.  
  1692. ---------------------------------------------------------------------------
  1693. MODEM_INIT_ONE=                         DEFAULT=AT &C1 &D2 S7=45 V1 X4 S0=0
  1694.  and
  1695. MODEM_INIT_TWO=                                                  NO DEFAULT
  1696.  
  1697. WR-BBS supports  two modem initialization strings.  Each one can have up to
  1698. forty (40)  characters after  the equal  sign.   Most modems  cannot accept
  1699. commands with  more  than  40  characters  in  the  string.    Some  WR-BBS
  1700. installations (particularly  those  with  high-speed,  highly  configurable
  1701. modems) may require more than forty characters to initialize the modem.  An
  1702. additional line,  MODEM_INIT_TWO=, is  recognized in  WRCONFIG.SYS, and can
  1703. contain up  to forty  additional characters  of modem  initialization data.
  1704. Thus, WR-BBS  can handle  up to  eighty characters for modem initialization
  1705. purposes. You  do not  have to use both strings if your initialization data
  1706. will  fit   into  one  string.    If  you  have  no  data  for  the  second
  1707. initialization string, omit the MODEM_INIT_TWO= entry from WRCONFIG.SYS.
  1708.  
  1709. The modem  initialization string  is sent  to the modem whenever one of the
  1710. following conditions occur:
  1711.  
  1712.           1. WR-BBS is first started.
  1713.           2. A call ends, and WR-BBS recycles to prepare for the next call.
  1714.           3. The SysOp manually recycles the modem with ALT-R.
  1715.  
  1716. For proper  operation, some form of initialization data must be sent to the
  1717. modem in  each of the situations above.  Consult your modem's documentation
  1718. for the  appropriate information  to include in this string.  If you have a
  1719. Hayes <tm>  modem, or  a modem  that recognizes the Hayes <tm> command set,
  1720. the initialization  string should  start with  "AT".   The commands  listed
  1721. below are  for example  purposes, and  assume the use of a Hayes <tm> modem
  1722. with no  error-correction (such  as a  SmartModem 2400 <tm>). They apply to
  1723. most modems  that recognize the same commands as Hayes <tm> modems, and are
  1724. necessary for  proper, secure  operation of  WR-BBS.   You may  need to add
  1725. additional commands  for your particular installation, so consider these as
  1726. a bare minimum:
  1727.  
  1728.           Command    Meaning
  1729.           -------    -------
  1730.           E1         Echo commands back to computer
  1731.           M0         Modem's speaker off at all times
  1732.           Q0         Send result codes
  1733.           V1         Result codes are words instead of numbers
  1734.           X4         Detailed result codes, including connect speed
  1735.           &C1        Track the presence or absence of carrier detect
  1736.           &D2        React to loss of DTR by dropping carrier
  1737.           &R0        CTS follows RTS, not assumed to be on
  1738.           S0=0       Disable auto answer (see RINGDETECT=)
  1739.           S2=128     Disable escape sequence
  1740.  
  1741.  
  1742.           The "E1"  command is  necessary so that WR-BBS will its own input
  1743.                     to the  modem echoed back.  If WR-BBS does not see this
  1744.                     echo, the initialization diagnostics will not work.
  1745.           
  1746.           The "M0"  command is  not essential, but if you omit it, you will
  1747.                     hear the progress of incoming calls until the handshake
  1748.                     is finished.   This can be annoying, especially if your
  1749.                     WR-BBS runs twenty four hours a day.
  1750.           
  1751.           The "Q0"  command is  required, as  WR-BBS will  not be  able  to
  1752.                     determine  a  caller's  connect  speed  without  result
  1753.                     codes.
  1754.           
  1755.           The "V1"  command is  also required,  so that  WR-BBS is supplied
  1756.                     with verbose result codes instead of numbers.
  1757.           
  1758.           The "X4"  command makes  the result  codes even  more verbose, so
  1759.                     that WR-BBS  can determine  the speed at which a caller
  1760.                     connects, as  well as the modem's reports of any errors
  1761.                     during handshaking.
  1762.           
  1763.           The "&C1"  command is  extremely important and essential.  WR-BBS
  1764.                     will  NOT   work   without   this   command   in   your
  1765.                     initialization string.   This  command makes  the modem
  1766.                     report the  true state  of  the  carrier  detect.    If
  1767.                     omitted, the  modem (by  default) will  usually  report
  1768.                     that carrier  is present  all of the time.  WR-BBS will
  1769.                     never finish  the startup sequence if this is the case,
  1770.                     as it  will assume  that a caller is connected, and try
  1771.                     (up to  30 times)  to drop  carrier, when  there was no
  1772.                     carrier in the first place.
  1773.           
  1774.           The "&D2"  command is  equally important,  as this  instructs the
  1775.                     modem to  drop a  call if  WR-BBS lowers  the DTR (Data
  1776.                     Terminal Ready)  line.   Without this  command  in  the
  1777.                     initialization string,  WR-BBS  will  not  be  able  to
  1778.                     disconnect calls properly.
  1779.           
  1780.           The "S0=0"  command is  REQUIRED unless  your modem is one of the
  1781.                     extremely  few  modems  that  do  not  report  ringing.
  1782.                     99.999999% of all internal modems and 99.999998% of all
  1783.                     external modems  properly report ringing via pin 22. If
  1784.                     yours does  not, it  is either  very old, or defective.
  1785.                     You can  configure WR-BBS  to work  with the  modem  in
  1786.                     auto-answer mode  until you  obtain a  modem that works
  1787.                     properly.   See RINGDETECT=  for more  details.  Unless
  1788.                     you need  to compromise  your WR-BBS  to  adapt  to  an
  1789.                     incompatible modem,  do NOT  set your  modem  for  auto
  1790.                     answer, either  via an  initialization command  or  via
  1791.                     switches on the modem.
  1792.           
  1793.           The "S2=128" command disables the escape sequence that is used to
  1794.                     gain control  of your  modem when  it is on line.  This
  1795.                     sequence, by default, is "+++".  A hacker could arrange
  1796.                     his system  to send  this sequence  and take control of
  1797.                     your modem.   I  won't explain how, but it can be done.
  1798.                     By setting  S2=128, the escape sequence is disabled, so
  1799.                     nobody can play games with your modem.
  1800.  
  1801.  
  1802. ---------------------------------------------------------------------------
  1803. MODEMDELAY=                                                     DEFAULT=110
  1804.  
  1805. This setting  allows you  to compensate  for a "slow" or exceptionally fast
  1806. modem.   Allowable values  are from 55 to 11000, and represent milliseconds
  1807. of delay  between each  command character  transmitted to  the modem.  Note
  1808. that this  character "pacing"  has no  connection with the modem's behavior
  1809. when connected  to a  caller -  all MODEMDELAY  does is  slow down  command
  1810. strings being  sent to  the modem  by WR-BBS.   If  your modem "misses" the
  1811. "ATA" command  (and ignores  ringing calls),  try increasing the MODEMDELAY
  1812. setting a  bit at  a time.   The same is true if the status line shows that
  1813. your modem  is not  acknowledging initialization  commands  (or  there  are
  1814. characters missing  in the  echoed result).   You  should never have to set
  1815. MODEMDELAY higher  than 250.   If your modem is super-efficient, you may be
  1816. able to  trim MODEMDELAY  down to  55,  reducing  the  initialization  time
  1817. slightly.
  1818.  
  1819. If you  are running  an error  correcting modem  at very  high  DTE  speeds
  1820. (57,600 and above), you will probably need to set MODEMDELAY to 110 or more
  1821. to get reliable command acceptance.
  1822.  
  1823. ---------------------------------------------------------------------------
  1824. NEWUSER_ADDRESS1=                                                 DEFAULT=Y
  1825.  
  1826. If Y  is specified,  then WR-BBS  will ask  each new user for their address
  1827. during the  new user  questionnaire.  If set to N, then new callers are not
  1828. prompted for their address, but can optionally enter it if desired.
  1829.  
  1830. ---------------------------------------------------------------------------
  1831. NEWUSER_ADDRESS2=                                                 DEFAULT=Y
  1832.  
  1833. If set to Y, then new callers, while completing the new user questionnaire,
  1834. will be  prompted to (but not required to) enter their "auxiliary" address.
  1835. An auxiliary  address is any part of their street address that does not fit
  1836. on the  first line  (NEWUSER_ADDRESS1=), such as their apartment number. If
  1837. set to  N, new  callers are  not prompted for an auxiliary address, but can
  1838. enter one if so desired.
  1839.  
  1840. ---------------------------------------------------------------------------
  1841. NEWUSER_CITY=                                                     DEFAULT=Y
  1842.  
  1843. During the  new user  questionnaire, new  callers will be required to enter
  1844. their city  if set  to Y.  If you do not wish to require this response, set
  1845. this to N.
  1846.  
  1847. ---------------------------------------------------------------------------
  1848. NEWUSER_COS=                                                      DEFAULT=A
  1849.  
  1850. This entry  defines which  class-of-service (COS)  is initially assigned to
  1851. new callers  after they complete the new user questionnaire.  It can be any
  1852. letter from  A to  Z.   By convention,  "A" is  the lowest letter, and thus
  1853. would have  the lowest access privileges, but you don't have to follow this
  1854. convention, since  any  COS  can  be  given  any  privileges  you  wish  to
  1855. configure.  By specifying a "restricted" class-of-service for NEWUSER_COS=,
  1856. you can ensure that new users do not have excessive access rights until you
  1857. have verified their questionnaire responses.  After verification, you would
  1858. (as the  SysOp) go  into the  SysOp menu, select (U)ser administration, and
  1859. assign a  "better" class-of-service to the verified caller.  See section 11
  1860. for a detailed explanation of the WR-BBS flexible class-of-service system.
  1861.  
  1862. ---------------------------------------------------------------------------
  1863. NEWUSER_DATAPHONE=                                                DEFAULT=N
  1864.  
  1865. This item  determines whether  new callers,  while answering  the new  user
  1866. questionnaire, are  required to  enter a "data" or "business" phone number.
  1867. In some environments, such as a private "hobby" BBS, it is not realistic to
  1868. expect that  every caller  would have  a data  or business  phone number to
  1869. give, so  you will probably want to set this item to N.  If you are running
  1870. a more  specialized BBS,  where, for  example, you  need the fax number for
  1871. every caller,  you can  set this  to Y  to  prompt  them  for  a  non-voice
  1872. telephone number.
  1873.  
  1874. ---------------------------------------------------------------------------
  1875. NEWUSER_VOICEPHONE=                                               DEFAULT=Y
  1876.  
  1877. Setting this  item to  Y makes WR-BBS ask for a voice telephone number from
  1878. each new  caller who completes the new user questionnaire.  Unlike a "data"
  1879. phone, you  can be  assured that  every caller  has at  least a voice phone
  1880. number to supply (how are they calling your board?), and most SysOps demand
  1881. this information  for verification  purposes.   If NEWUSER_VOICEPHONE=Y and
  1882. VALIDATEPHONE=Y, the  new user  will  not  be  allowed  to  enter  a  bogus
  1883. telephone number such as 555-1234 or 800-XXX-XXXX.  They can still dream up
  1884. a fake  number which  satisfies the  VALIDATEPHONE routine,  but if they do
  1885. enter such  a fake  number, you  can lock them out with a clear conscience,
  1886. knowing that  they intentionally entered a bogus number, and then responded
  1887. that the number was indeed accurate.  See the VALIDATEPHONE description for
  1888. more details.
  1889.  
  1890. ---------------------------------------------------------------------------
  1891. NEWUSER_ZIPCODE=                                                  DEFAULT=Y
  1892.  
  1893. If set  to Y,  new callers who indicate that they live in the United States
  1894. will be  required to  enter a  Zip code which complies with the USA format.
  1895. Either a  five or nine digit zip code complies.  New callers who are not US
  1896. residents (based on their answer to the "country" question) are not held to
  1897. this requirement,  as their  postal codes  may have  one of  many different
  1898. formats, or  be non-existent.   If set to N, no prompting for a Zip code is
  1899. done, but it can be optionally entered by the caller.
  1900.  
  1901. ---------------------------------------------------------------------------
  1902. PARITY=                                                           DEFAULT=N
  1903.  
  1904. The default  setting of  "N" for  no parity  checking should not be changed
  1905. except for  unusual situations.  Other valid settings are "E" for even, "O"
  1906. for odd,  "M" for  mark and  "S" for  space.  Note that ANSI graphics, file
  1907. transfer protocols, and most doors will not work consistently unless parity
  1908. checking is disabled by setting it to "N".
  1909.  
  1910. ---------------------------------------------------------------------------
  1911. PORTNUMBER=                                                       DEFAULT=1
  1912.  
  1913. Use this  setting to  tell WR-BBS  which communications  port your modem is
  1914. connected to.   Standard  port configurations  for COM1  and COM2 are fully
  1915. supported by  WR-BBS.   For COM1, the line would read PORTNUMBER=1, and for
  1916. COM2, the  line would  read PORTNUMBER=2.   There  is only  partial support
  1917. designed into  WR-BBS for  ports other than COM1 and COM2, and operation on
  1918. non-standard ports  is not  assured in  this version of WR-BBS.  The IBM PC
  1919. <tm> and  AT <tm>  in their most generic form do not support communications
  1920. ports other  than COM1  and COM2.   If  you wish  to use a non-standard COM
  1921. port, it  must have  an IRQ  that respectively  matches the  supported  COM
  1922. ports.  The IRQ mapping is:
  1923.  
  1924.           COM1         IRQ4
  1925.           COM2         IRQ3
  1926.           COM3         IRQ4
  1927.           COM4         IRQ3
  1928.  
  1929. ---------------------------------------------------------------------------
  1930. REGISTRATION=
  1931.  
  1932. After you  register your copy of WR-BBS, you will receive a "license code",
  1933. which is  used in  conjunction with  the REGISTRATION= entry to tell WR-BBS
  1934. that you have a registered copy.
  1935.  
  1936. ---------------------------------------------------------------------------
  1937. RINGDETECT=                                                       DEFAULT=1
  1938.  
  1939. WR-BBS supports  two kinds  of ring detection.  In 99.99% of all cases, you
  1940. should use  ring detection  type 1,  which is  the default.  Ring detection
  1941. type 1  uses your  modem's hardware  ring signal line (pin 22 on the RS-232
  1942. cable).   This pin  goes high  when the  phone line  rings.  It is the most
  1943. reliable method.  If you use ring detection type 1 (which you should), make
  1944. certain that you include S0=0 somewhere in your modem initialization string
  1945. (see MODEM_INIT_1=).  This turns off the auto answer feature on your modem.
  1946. As with  most BBS  products, WR-BBS waits for ringing to be reported by the
  1947. modem, then  issues a  command to  make the modem answer.  If your modem is
  1948. set for  auto-answering with  ring detection type 1, nobody will be able to
  1949. establish a  connection and  weird things will happen. Also, make sure that
  1950. your modem's DIP switches are set to disable auto-answer.
  1951.  
  1952. There are  a (very)  few modems  which do not report ringing via pin 22. If
  1953. you have  one of  these modems,  you will  have to  set RINGDETECT=2.    If
  1954. RINGDETECT=2, you  MUST have  auto-answer enabled by including S0=1 in your
  1955. modem initialization string.
  1956.  
  1957. Use RINGDETECT=2  only if  your modem  cannot support the default method of
  1958. ring detection.   If  you have  any doors  configured, be  aware that using
  1959. RINGDETECT=2 allows  a small  (but real) window of opportunity for a hacker
  1960. to get  into the  system.  If a caller drops carrier while in a door, and a
  1961. new call comes in before the door has exited to WR-BBS, the new caller will
  1962. be able to essentially continue the session of the previous caller.  If the
  1963. previous caller  was the  SysOp or  a user  with a liberal class-of-service
  1964. that allows  access to  the operating  system, a  hacker who obtains access
  1965. this  way  can  do  grave  damage,  including  formatting  your  drives  or
  1966. introducing a  virus.   This potential security breach is not a flaw in WR-
  1967. BBS, but a short coming in some door programs that do not immediately react
  1968. to lost carrier by exiting to the calling program.  Although the likelihood
  1969. of such  an occurrence  is rare, it is one more reason to use RINGDETECT=1,
  1970. which all  modern modems  (that are  connected properly)  support.   If you
  1971. modem does  not support  pin 22  ring reporting, and you wish to use doors,
  1972. you should consider getting a better modem before using RINGDETECT=2.
  1973.  
  1974. ---------------------------------------------------------------------------
  1975. SCREENDIR=                                      DEFAULT (SAME AS HOME PATH)
  1976.  
  1977. This is  an optional  entry.  WR-BBS uses a number of "screen" files, which
  1978. have extensions  of .ASC and .ANS.  These files are sent to callers to make
  1979. the corresponding screens display on the caller's system.  Depending on how
  1980. sophisticated you  make your  WR-BBS application,  you could  have anywhere
  1981. from 50 to a few hundred screen files.
  1982.  
  1983. To avoid  cluttering up  the home path directory, you can use SCREENDIR= to
  1984. specify a  separate directory  where the  screen files  are  stored.    For
  1985. example, if your home path is:
  1986.  
  1987.           D:\WR-BBS
  1988.           
  1989.                and you want to keep the screen files in
  1990.           
  1991.           D:\WR-BBS\SCREENS
  1992.  
  1993. Then you  would  configure  WR-BBS  by  inserting  the  following  line  in
  1994. WRCONFIG.SYS:
  1995.  
  1996.           SCREENDIR=D:\WR-BBS\SCREENS
  1997.  
  1998. If you do not wish to have a separate screen directory (you don't have to),
  1999. then omit  the SCREENDIR= entry, or REMark it out. If you use this item, it
  2000. must point  to a  valid directory  where all .ASC and .ANS files for WR-BBS
  2001. are stored.
  2002.  
  2003. ---------------------------------------------------------------------------
  2004. SCREENSAVER=                                                      DEFAULT=Y
  2005.  
  2006. Unless  you  tell  WR-BBS  otherwise,  its  uses  a  screen-saving  display
  2007. procedure whenever  it is  idle.   Since most  WR-BBS boards  are  operated
  2008. twenty four  hours a day, the screen saver prevents the WR-BBS screen image
  2009. from becoming  burned into  the monitor's  picture tube.   When  the screen
  2010. saver is  in effect, a three or four line abbreviated display is located at
  2011. random places on the screen, using random colors and intensities.  If there
  2012. are messages waiting for the SysOp, the fourth line flashes "New message(s)
  2013. for SysOp".   If the SysOp has no messages waiting, there is no fourth line
  2014. in the  screen saver  display.   The top  line of  the screen-saver display
  2015. shows the current date and time, and the WR-BBS "up" symbol.
  2016.  
  2017. When the  screen saver  is in effect, pressing ESCape will return WR-BBS to
  2018. the full-screen  display mode.   Whenever  any activity  occurs (such as an
  2019. incoming call, event, or local administration), the screen saver reverts to
  2020. a full screen display automatically.
  2021.  
  2022. If you set SCREENSAVER=N, WR-BBS will always display in full-screen mode.
  2023.  
  2024. ---------------------------------------------------------------------------
  2025. SEEKBAUD=                                                   DEFAULT=MAXBAUD
  2026.  
  2027. This entry  is not  required unless you have one of the very few modems out
  2028. there that seeks "up" to negotiate a connect speed.  Most modems attempt to
  2029. seek "down" from their highest possible speed until the remote modem agrees
  2030. to a  connect speed.  Thus a 2400 baud modem would answer at 2400 baud, and
  2031. step down to 1200, and then 300 until the far modem handshakes.  A few rare
  2032. modems start at their lowest speed, and "sweep" all possible connect speeds
  2033. before completing  their negotiation.   If  you have  one of  these strange
  2034. modems, set  SEEKBAUD to  the speed  at which  the modem  should begin  its
  2035. negotiations.
  2036.  
  2037. ---------------------------------------------------------------------------
  2038. SERIALNUMBER=
  2039.  
  2040. After you register your copy of WR-BBS, you will receive a serial number.
  2041. Enter it with the SERIALNUMBER keyword in WRCONFIG.SYS.
  2042.  
  2043. ---------------------------------------------------------------------------
  2044. SHELLSWAP=                                                        DEFAULT=Y
  2045.  
  2046. When WR-BBS runs some type of external program (door, event, shell to DOS),
  2047. it can swap out more than 90% of its memory image, leaving less than 18K of
  2048. itself in memory.  This leaves lots of memory for the program that is being
  2049. run by WR-BBS.
  2050.  
  2051. If your  system has  at least  550K  free  exPANDed  memory  (not  exTENDed
  2052. memory), then  WR-BBS will swap to EMS memory.  This swap occurs as quickly
  2053. as your  computer can  move the  WR-BBS image from one section of memory to
  2054. another -  within milliseconds.   If  your system has insufficient exPANDed
  2055. memory to  complete the  swap, WR-BBS  instead swaps  to a  disk file named
  2056. WRBBS.$$$ located in the home path.
  2057.  
  2058. If you  have a  slow computer  with a slow drive, and insufficient exPANDed
  2059. memory, the  time it  takes to swap the WR-BBS image to disk can be several
  2060. seconds.   Callers may  perceive this delay as your board being sluggish to
  2061. respond (WR-BBS  will  not  accept  caller  input  while  the  swapping  is
  2062. happening).   In this case, you might wish to set SHELLSWAP=N.  WR-BBS will
  2063. not swap  its image  when configured that way.  The drawback is that WR-BBS
  2064. will continue  to occupy  its original  memory when the external program is
  2065. invoked, and the external program may not have sufficient memory available.
  2066.  
  2067. If there  is insufficient  exPANDed memory  and WR-BBS  swaps to  disk,  it
  2068. automatically deletes  the file  WRBBS.$$$ when it swaps back.  Do not edit
  2069. or delete  the swap  file when  shelled out, or WR-BBS will fail to reload,
  2070. and a system reboot will be required.
  2071.  
  2072.  
  2073.  
  2074. ---------------------------------------------------------------------------
  2075. SYSOP=                                                           NO DEFAULT
  2076.  
  2077. You must  put a line in WRCONFIG.SYS to indicate who is the SysOp.  Use the
  2078. exact name  that you  will log  onto your WR-BBS with.  When the SysOp logs
  2079. on, special  privileges are  allowed for  that person  who is named in this
  2080. entry.  (This person must also log on to the board and establish an account
  2081. like any other caller - see section 12).
  2082.  
  2083. Example:
  2084.  
  2085.           SYSOP=WILSON ROGERS
  2086.  
  2087. ---------------------------------------------------------------------------
  2088. TIMELIMIT=                                       DEFAULT (60 FOR ALL COS'S)
  2089.  
  2090. You should  have one  TIMELIMIT= entry  for each class of service that your
  2091. WR-BBS utilizes.   There can be up to twenty six (26) lines in WRCONFIG.SYS
  2092. which begin  with TIMELIMIT=, defining the caller's time limit (in minutes)
  2093. for each of twenty six possible classes of service.  The proper syntax is:
  2094.  
  2095.           TIMELIMIT=?|XXX
  2096.           
  2097.           Where "?"  is replaced  with a class of service letter (from A to
  2098.                     Z), and  "XXX" is  replaced with the amount of time you
  2099.                     wish to  allow for  callers  who  have  that  class  of
  2100.                     service.   For example,  if you want to give callers in
  2101.                     class of  service "A"  sixty minutes,  and give  ninety
  2102.                     minutes  to  callers  in  class  of  service  "B",  the
  2103.                     following two  lines would  correctly  accomplish  that
  2104.                     purpose:
  2105.           
  2106.           TIMELIMIT=A|60
  2107.           TIMELIMIT=B|90
  2108.  
  2109. Valid values  for TIMELIMIT are 1 through 999.  When assigning time limits,
  2110. keep in  mind the types of users who will be in each class of service.  You
  2111. may want  to give a few special users a lot of time, perhaps as much as 180
  2112. minutes (three  hours).   New users would be given significantly less time,
  2113. perhaps 30 or 45 minutes.  A typical "regular" user might be given 60 to 90
  2114. minutes.
  2115.  
  2116. The TIMELIMIT  value is a daily limit for each user in the designated class
  2117. of service.   For  example, if  class of service A allowed sixty minutes, a
  2118. user with  that class  of service could use the system for sixty minutes in
  2119. one session, or two sessions of thirty minutes each, or six sessions of ten
  2120. minutes, and  so on.   WR-BBS checks the caller's time remaining at regular
  2121. intervals, and  if the  caller exceeds  the allotted  time, the  caller  is
  2122. logged off  the system  after a seeing a message explaining that their time
  2123. is used  up for  the day.   Each  caller's time limit is reset to the limit
  2124. (defined in  their class  of service)  on their  next logon  after midnight
  2125. passes.   Thus, a  user who consumes their entire time limit in one day can
  2126. call back  at 12:01  AM on  the next  day and  start with  a new daily time
  2127. allotment.
  2128.  
  2129.  
  2130. ---------------------------------------------------------------------------
  2131. UPLOADAREA=                                                      NO DEFAULT
  2132.  
  2133. When callers  upload files  to your  WR-BBS system,  they will be sent to a
  2134. particular directory.   This  directory must be one of the directories that
  2135. you have  defined as  a WR-BBS  file area with the "FILEAREA=" statement in
  2136. WRCONFIG.SYS.   UPLOADAREA=   must be  followed by  a letter  (from A to Z)
  2137. which represents  a defined  file area.   If you want uploads to go to file
  2138. area "G", you would make the following entry in WRCONFIG.SYS:
  2139.  
  2140.           UPLOADAREA=G
  2141.  
  2142. There can  be only one upload area defined in WRCONFIG.SYS.  If you attempt
  2143. to define  more than  one upload area, WR-BBS uses the last definition that
  2144. it finds.
  2145.  
  2146. Here is a real-life example of how UPLOADAREA is used.  In this example,
  2147. you have already defined five file areas, as shown below.  You want uploads
  2148. to go to the fifth area, file area "E":
  2149.  
  2150.      FILEAREA=A|OS/2 Programs|C:\OS2PROGS|ABCDEFGHIJKLMNOPQRSTUVWXYZ
  2151.      FILEAREA=B|Games|D:\GAMES|ABCDEFGHIJKLMNOPQRSTUVWXYZ
  2152.      FILEAREA=C|Windows Files|C:\WIFELESS|ABCDEFGHIJKLMNOPQRSTUVWXYZ
  2153.      FILEAREA=D|DOS Utilities|D:\DOSUTILS|ABCDEFGHIJKLMNOPQRSTUVWXYZ
  2154.      FILEAREA=E|Uploads|C:\NEWFILES|ABCDEFGHIJKLMNOPQRSTUVWXYZ
  2155.      
  2156. The correct UPLOADAREA entry for this situation would be:
  2157.  
  2158.           UPLOADAREA=E
  2159.  
  2160. The following are examples of INCORRECT use of UPLOADAREA, based on the
  2161. example above:
  2162.  
  2163.           UPLOADAREA=M
  2164.                      ^
  2165.                      This file area was not defined.
  2166.           
  2167.           
  2168.           UPLOADAREA=C:\NEWFILES
  2169.                      ^^^^^^^^^^^
  2170.                      Only one letter, representing a defined file area,
  2171.                      is allowed.
  2172.  
  2173.  
  2174. If you do not define an UPLOADAREA, WR-BBS will not start, but will instead
  2175. report "BAD  U/L DIRECTORY - CANNOT CHDIR TO ..." during startup.  The same
  2176. is true  if you have properly defined an UPLOADAREA, but the directory does
  2177. not actually exist.
  2178.  
  2179.  
  2180. ---------------------------------------------------------------------------
  2181. UPLOADBONUS=                                                      DEFAULT=2
  2182.  
  2183. This item  tells WR-BBS  how much  time to  give callers  as a  "bonus" for
  2184. uploading files.   Valid values are from 0 to 255.  When a caller completes
  2185. an upload,  WR-BBS checks  the file  size, and  determines  the  number  of
  2186. kilobytes (KB).   That  value (KB)  is divided by 10 (to determine how many
  2187. "tens" of kilobytes were received), and then multiplied by the value set in
  2188. UPLOADBONUS to  determine the  number of  minutes to compensate the caller.
  2189. For example,  if the  caller uploads  a 100  KB file,  then  10  "tens"  of
  2190. kilobytes were  received, so  if the UPLOADBONUS was set to "2", the caller
  2191. would receive 20 minutes compensation.
  2192.  
  2193. If you  don't want  to  give  callers  any  bonus  time  for  uploads,  set
  2194. UPLOADBONUS to  "0".   WR-BBS will never allow any caller to have more than
  2195. 999 minutes  of time remaining, so if you use a high value for UPLOADBONUS,
  2196. such as  100, callers who upload large files will have their time increased
  2197. to 999 minutes, but not beyond.
  2198.  
  2199. If the  caller aborts  the upload,  or for  any reason the upload fails, no
  2200. compensation is granted to the caller.
  2201.  
  2202.  
  2203. ===========================================================================
  2204. SECTION 11                             CLASS OF SERVICE (COS) CONFIGURATION
  2205. ===========================================================================
  2206.  
  2207. In any  good bulletin  board  application,  security  and  flexibility  are
  2208. afforded by  multiple "access  levels".   WR-BBS is no exception, and up to
  2209. twenty six  access levels can be defined.  If you have configured other BBS
  2210. applications previously,  you may be familiar with the term "access level",
  2211. also referred to as "permission level".
  2212.  
  2213. TIP:   The term  "Class of  Service" (or "COS") in WR-BBS has virtually the
  2214.       same meaning  as "access  level" on other BBS products, but it is not
  2215.       incremental.   For example, in many BBS products, if a feature has an
  2216.       access level  set to "10", callers with access level 10 or higher can
  2217.       access that  feature.   In WR-BBS, each COS allowed that feature must
  2218.       be explicitly enabled.  COS "B" is not "higher" than COS "A".
  2219.  
  2220. In WR-BBS,  access to  various features is controlled by the caller's Class
  2221. Of Service  (abbreviated  as  COS).    You  can  custom-configure  the  COS
  2222. assignments to  give the  appropriate access  to the callers (or caller) in
  2223. each class  of service.   With COS definitions, you can control such things
  2224. as:
  2225.  
  2226.           - Number of minutes permitted per day.
  2227.           - Which file areas can be accessed.
  2228.           - Whether or not downloads are allowed.
  2229.           - Whether or not uploads are allowed.
  2230.           - Which file transfer protocols can be used.
  2231.           - Which doors can be accessed.
  2232.           - Whether or not a caller can page the SysOp.
  2233.  
  2234. When planning  your COS  assignments, you  should first  group callers into
  2235. specific types of callers.  For example, your breakdown of caller types may
  2236. look something like this:
  2237.  
  2238.           - New users who have not been verified yet.
  2239.           - Regular users who have normal access.
  2240.           - Special users who have more extensive access.
  2241.           - The SysOp.
  2242.  
  2243. In the  above example,  you might  assign COS  "A" to new users, COS "B" to
  2244. regular users, COS "C" to special users, and COS "D" to the SysOp.  You can
  2245. assign any  COS  you  wish  to  any  caller  -  the  COS  letters  are  not
  2246. incremental.   In other  words, COS "X" does not necessarily grant a higher
  2247. level of access that COS "B" - unless you configure both COS's to make this
  2248. possible.  By convention, however, you may wish to make the COS assignments
  2249. appear to  be incremental  - with  COS "A"  being having  the lowest access
  2250. rights, and  COS "Z"  having the  highest. This makes it easier for you and
  2251. your callers to relate to the COS letters after they have been assigned.
  2252.  
  2253. The SysOp  should (but  is not  required to)  have an  exclusive  class  of
  2254. service with  no other  users in it.  This allows you to grant unrestricted
  2255. access to yourself for administration and testing.
  2256.  
  2257. Valid class  of service  letters are  "A" to "Z".  Permissions, privileges,
  2258. and access  rights are  granted by "allowing" various classes of service to
  2259. access various individual parts of WR-BBS, via entries in WRCONFIG.SYS.  In
  2260. other words,  there is  no "chart" of which classes of service can do what,
  2261. but instead,  the COS's  allowed to use individual features are assigned to
  2262. those features.   This  provides the ultimate in flexibility.  For example,
  2263. rather than  "allowing" COS  "A" to  access file area "C", you would do the
  2264. inverse - configuring file area "C" to be accessed by callers with COS "A".
  2265.  
  2266. Class of  service's are  assigned to features in WRCONFIG.SYS.  See section
  2267. 10 for  more information on configuring WRCONFIG.SYS.  By default, no class
  2268. of service  can access  any  of  the  COS-controlled  features,  until  you
  2269. designate  otherwise   in  WRCONFIG.SYS.     Thoughtful   planning   before
  2270. implementing the  COS permissions  will allow  for growth  and  flexibility
  2271. during the  life of your WR-BBS system.  Should you wish to make changes to
  2272. the COS configuration, you can edit WRCONFIG.SYS at any time.
  2273.  
  2274. ===========================================================================
  2275. SECTION 12                                                        THE SYSOP
  2276. ===========================================================================
  2277. On any  BBS or host system, the SysOp is the most significant user, as well
  2278. as the user with the most access privileges. WR-BBS follows this convention
  2279. by providing  special access  for the  one user  who is  designated as  the
  2280. SysOp. A  SysOp must  be defined  from proper  operation and administrative
  2281. access on WR-BBS.
  2282.  
  2283. The SysOp  is quite  literally the  System Operator.  Since you are reading
  2284. this, you  will probably  be the SysOp of your WR-BBS system.  You will set
  2285. up the  system, maintain its databases and files, and be a point of contact
  2286. for all  other users  who  want  to  communicate  questions,  problems,  or
  2287. comments about your WR-BBS installation.
  2288.  
  2289. Anyone given  SysOp privileges  should be  a responsible person who is well
  2290. known to the principal operator of the WR-BBS system.  Since the SysOp  can
  2291. be  given   permission  to  drop  to  the  operating  system,  allowing  an
  2292. irresponsible person to be a SysOp means that the irresponsible SysOp could
  2293. not only  destroy your  WR-BBS databases  and files,  but they  could  even
  2294. format or un-partition your computer's drives!
  2295.  
  2296. In order to gain administrative access to the User, File Library, and other
  2297. WR-BBS databases,  the SysOp  must log  on to the WR-BBS system (locally or
  2298. remotely), just as any other user would.  Then, at the Main Menu, the SysOp
  2299. presses the  "Z" key, (a hidden command available only to the SysOp), which
  2300. presents the SysOp menu.
  2301.  
  2302. When configuring  your WR-BBS  system  for  the  first  time,  it  is  very
  2303. important to  designate a SysOp.  This is accomplished with an entry in the
  2304. WR-BBS configuration  file, named  WRCONFIG.SYS.   This configuration  file
  2305. must have an entry that reads:
  2306.  
  2307.           SYSOP=JOHN DOE
  2308.  
  2309. Where "JOHN DOE" would be replaced by the SysOp's actual name.  See section
  2310. 10 for  more information  on how  to configure the file WRCONFIG.SYS.  Only
  2311. one SysOp is configured in the file WRCONFIG.SYS.
  2312.  
  2313. LOGGING ON:
  2314.  
  2315. There are two ways to log on to your WR-BBS system - via the modem and from
  2316. the local  console (your  computer's keyboard).   Obviously, WR-BBS must be
  2317. loaded and  running before  it will  accept any  calls, whether from remote
  2318. users (via  modem) or from local users (via the console). Also, WR-BBS must
  2319. be "ready for calls".  That is, it can not be executing an event, preparing
  2320. to execute  and event,  recycling the  modem (just  after a previous call),
  2321. shelled to  DOS, or  doing anything  other than waiting for calls (which is
  2322. the default condition).
  2323.  
  2324. To log  on via  the modem, simply place a modem call from another system to
  2325. the telephone  number which  is attached to the modem used by WR-BBS.  Your
  2326. data call will be answered by WR-BBS, and a session will begin.
  2327.  
  2328. To log  on from  the local console, press ALT-L while the system is waiting
  2329. for calls.   WR-BBS  will then "answer" your logon request, and you will be
  2330. presented with  the same  screens and  most of  the same options that would
  2331. have been available to a user calling in via the modem.  This is a good way
  2332. to "preview"  your WR-BBS  application before introducing it to the public.
  2333. Local logons  also permit  you to  experiment with WR-BBS without having to
  2334. have an  actual modem  attached to  the computer.   (The  COM port  must be
  2335. working, however).
  2336.  
  2337. There are  a few  differences between  a "remote" (via modem) session and a
  2338. "local" (via  console) session.   Since  there is no carrier present at any
  2339. time during  a  local  session,  WR-BBS  is  not  as  quick  to  detect  an
  2340. "abandoned" local  session.  In a remote session, WR-BBS can quickly detect
  2341. loss of carrier (where a user hangs up without a proper logoff) and recycle
  2342. for the next session.  In a local session, the only clue that WR-BBS has to
  2343. tell it  about the  session being  abandoned is  a keyboard timeout.  If no
  2344. keys are  pressed for  5 minutes  (on a  local or  remote session),  WR-BBS
  2345. assumes that  the user  has abandoned,  and ends the session, then recycles
  2346. for the next call.
  2347.  
  2348. Also, the  following WR-BBS  features are not available during a local (via
  2349. console) login:
  2350.  
  2351.           File transfer protocols (uploads and downloads)
  2352.           Chat facility
  2353.           Most doors
  2354.  
  2355. Most of  the sessions  processed by  WR-BBS are  remote sessions, where the
  2356. user, from virtually anywhere in the world, has called via modem.  During a
  2357. remote session, the console (local keyboard) is still "active", so any keys
  2358. pressed on  the local  keyboard will  be interpreted  by WR-BBS  as if  the
  2359. remote caller had pressed them those keys.  This allows the SysOp to assist
  2360. callers by "leading" them to the correct areas of the WR-BBS application by
  2361. pressing the appropriate local keys for them, while they watch.
  2362.  
  2363. Remember that  both keyboards  are active,  so  if  the  remote  caller  is
  2364. entering a  message or responding to a prompt, and both the remote user and
  2365. the SysOp start typing, WR-BBS will see both inputs (which will effectively
  2366. be meaningless).
  2367.  
  2368. *** When logged on remotely (via the modem) as the SysOp, press the "Z" key
  2369. to get  to the SysOp administration menu.  This key is not indicated on the
  2370. main menu screen (and is only available to one caller - the SysOp).
  2371.  
  2372.  
  2373.  
  2374. ===========================================================================
  2375. SECTION 13                                                 SETTING UP DOORS
  2376. ===========================================================================
  2377.  
  2378. Doors are  external programs  (not supplied with WR-BBS) which your callers
  2379. can run via WR-BBS.  Many doors are games, but virtually any program can be
  2380. run as  a door  with the  proper door  manager software. There can be up to
  2381. twenty six (26) entries in WRCONFIG.SYS which begin with the DOOR= keyword.
  2382. If you are not planning to have any doors on your WR-BBS system, you should
  2383. have no DOOR= entries in WRCONFIG.SYS (or remark the entries out).
  2384.  
  2385. Each door  that you  configure will  be referenced  by a letter.  There are
  2386. twenty six  available letters  to use  for this  purpose (A to Z).  You can
  2387. assign these  "reference" letters any way you want, and they do not have to
  2388. be used  in order.  For example, you could have four doors, designated "A",
  2389. "C", "X",  and "Z".   Reference letters cannot be duplicated, so you cannot
  2390. have two  different doors designated as door "A".  For convenience, you may
  2391. wish to  assign the first door the letter "A", give "B" to the second door,
  2392. use "C"  for the third door, and so on.  Letters other than "A" through "Z"
  2393. cannot be  used to designate doors, so there is a limit of twenty six doors
  2394. that can be configured.
  2395.  
  2396. To configure a door for WR-BBS, you need to do four things:
  2397.  
  2398.           1.   Add an entry to WRCONFIG.SYS which assigns a letter (A to Z)
  2399.                     to the  door and  defines which  classes of service may
  2400.                     access that door.
  2401.           
  2402.           2.   Create a  batch file which will control the operation of the
  2403.                     door program  (whether or  not the  door program  needs
  2404.                     such a batch file with other BBS programs).
  2405.           
  2406.           3.   Configure the  door program itself to recognize the DOOR.SYS
  2407.                     standard file  that  WR-BBS  creates  when  a  door  is
  2408.                     selected by a caller.
  2409.           
  2410.           4.   Create or  edit the  DOORMENU screen  files to  reflect  the
  2411.                     letter that  you have assigned to the door, and a brief
  2412.                     description of the door's purpose.
  2413.  
  2414.  
  2415.                    ADDING THE DOOR ENTRY TO WRCONFIG.SYS
  2416.  
  2417. The entry in WRCONFIG.SYS uses the following syntax:
  2418.  
  2419.           DOOR=A|ABCDEFGHIJKLMNOPQRSTUVWXYZ
  2420.                ^ ^
  2421.                | Classes of service allowed to access this door
  2422.                |
  2423.                |
  2424.                Letter designation for this door
  2425.  
  2426. For example,  the following line in WRCONFIG.SYS would indicate a door with
  2427. a letter  of "D"  which can  only be  accessed by  callers with  a class of
  2428. service from A to H:
  2429.  
  2430.           DOOR=D|ABCDEFGH
  2431.  
  2432. Notice that there are no spaces in the entry, and a "pipe" symbol separates
  2433. the door's letter from the class of service information.
  2434.  
  2435.                    CREATING THE BATCH FILE FOR THE DOOR
  2436.  
  2437. Every door  on WR-BBS  needs to have its own batch file, whether or not the
  2438. door can  run directly  from the command line.  WR-BBS calls the batch file
  2439. (not the  door program) when a caller selects the door from the Doors Menu.
  2440. There can  be up to twenty six batch files for controlling doors.  The name
  2441. of the  batch file determines which door it controls.  The batch file named
  2442. DOORA.BAT is  called when  door "A"  is selected, and DOORB.BAT is run when
  2443. door "B"  is selected,  and so on. (The fifth letter in the batch file name
  2444. corresponds to the door's letter).
  2445.  
  2446. The batch  file can  be a  simple, one  line entry  which contains the door
  2447. program's name,  or it  can be  a complex,  branching batch  file with many
  2448. lines, depending  on your needs.  Any activity necessary to set the door up
  2449. (such as  copying configuration  files, etc)  should be  done by that batch
  2450. file.   Keep these  restrictions in mind when designing the batch files for
  2451. your door programs:
  2452.  
  2453.           - The batch file(s) must be in the home path.
  2454.           
  2455.           - The door program must not modify or delete the batch file.
  2456.           
  2457.           - Do NOT call WR.BAT or WRBBS.EXE from the door's batch file.
  2458.  
  2459.  
  2460.                               ABOUT DOOR.SYS
  2461.  
  2462. Whenever WR-BBS  runs a  door for  a caller,  it first creates a file named
  2463. DOOR.SYS.   This is  a text  file which  is created  in the  home path.  It
  2464. contains information  about the  board and  the  caller,  which  many  door
  2465. programs can  use to  personalize the  caller's visit  to the door.  I have
  2466. settled on the DOOR.SYS standard because many of the "big" BBS programs now
  2467. use this as a standard, and most competent door programs recognize DOOR.SYS
  2468. when they run.
  2469.  
  2470. If the  door program  you want to use does not recognize the DOOR.SYS file,
  2471. you may  need to  employ a  utility program  which  converts  the  DOOR.SYS
  2472. information to  a different  format (such  as  CALLDATA.TXT).    Most  door
  2473. programs, however,  can be  configured to  recognize DOOR.SYS.  If the door
  2474. program expects  DOOR.SYS to be in a specific directory other than the home
  2475. path, you  can copy the DOOR.SYS file to the desired location with an entry
  2476. in the  door's batch  file.   Some doors do not correctly recognize the DTE
  2477. speed defined  in DOOR.SYS  when an error-correcting modem is used. See the
  2478. WRCONFIG.SYS keyword BADDOOR= for more details.
  2479.  
  2480.                         MODIFYING DOORMENU SCREENS
  2481.  
  2482. The Door  Menu screens  (DOORMENU.ASC and  DOORMENU.ANS) must  be edited or
  2483. created to  reflect the  door(s) that you are offering.  For each door, you
  2484. need to  list  the  door's  letter  (as  defined  in  WRCONFIG.SYS)  and  a
  2485. description of  the door.   There  are no  sample  screens  for  DOORMENU.*
  2486. included with  the WR-BBS  distribution,  as  this  information  is  highly
  2487. variable.  See section 7 for instructions on modifying the menu screens.
  2488.  
  2489.                            USING A DOOR MANAGER
  2490.  
  2491. The use  of a  good "door  manager" utility  is strongly advised. There are
  2492. many  door  programs  available,  and  their  design  quality  ranges  from
  2493. "excellent" to  "terrible".   A door  manager  can  compensate  for  poorly
  2494. written door  programs and  helps to  protect your  board from  damage that
  2495. could occur  when a  poorly designed  door program  is used.  Be aware that
  2496. some door programs do NOT offer the following basic features:
  2497.  
  2498.           - Detection of dropped carrier.
  2499.           
  2500.           - Preventing caller from accessing command line.
  2501.           
  2502.           - Detection of inactivity.
  2503.           
  2504.           - Trapping and handling of errors in door program itself.
  2505.  
  2506. A door manager will help compensate for such weaknesses by exerting its own
  2507. control over  the door  program when  an unexpected event occurs. Without a
  2508. door manager,  if the  door program  does not  detect carrier loss, and the
  2509. caller drops  carrier, your  WR-BBS system  will  be  "hung"  indefinitely.
  2510. Remember that  WR-BBS is  not active  when a door is running, and therefore
  2511. has no control of the door).
  2512.  
  2513. Some door  programs require  a Basic  runtime module  to accompany the .EXE
  2514. file.   I have  found that  this type of door program often has no internal
  2515. error trapping,  and any  error in  the program's  operation results  in  a
  2516. message such as "RUNTIME ERROR AT LINE NUMBER NOLINE".  The board will then
  2517. be hung  unless a  door manager  is used  to control such a poorly designed
  2518. door.
  2519.  
  2520. There are  a number  of door  managers available,  including DOORWAY.   The
  2521. DOORWAY program  is available  from BBS's throughout the country, including
  2522. the WR-BBS  Headquarters BBS.   Most  of them  are shareware offerings - be
  2523. certain to  register them  with their  respective  author.    Door  manager
  2524. programs have  another useful  feature in  that they can convert almost any
  2525. DOS program  into a  door program - you can use this (with caution) to give
  2526. your callers  access to other applications.  If you do this, make sure that
  2527. your caller's  cannot use  the other  application's DOS  shell  feature  to
  2528. access the operating system.
  2529.  
  2530. ===========================================================================
  2531. SECTION 14                                                  TROUBLESHOOTING
  2532. ===========================================================================
  2533.  
  2534. Most WR-BBS problems can be easily corrected by reading this documentation,
  2535. particularly this  section.  Support for WR-BBS is available via the WR-BBS
  2536. Headquarters BBS.   Don't hesitate to log on the WR-BBS Headquarters BBS if
  2537. you cannot  get your  WR-BBS system  working properly.    The  author  will
  2538. respond to your support request promptly (usually within 24 hours).
  2539.  
  2540.  
  2541. ---------------------------------------------------------------------------
  2542.               PROBLEMS SETTING HOME PATH ENVIRONMENT VARIABLE
  2543.  
  2544. If DOS  reports "Insufficient Environment Space" when you (or AUTOEXEC.BAT)
  2545. try to  SET the home path, you can increase the environment space available
  2546. by modifying  the CONFIG.SYS  file on  your system.  To enable a larger DOS
  2547. environment, the following line should be inserted in CONFIG.SYS:
  2548.  
  2549.           SHELL=C:\COMMAND.COM /P /E:1024
  2550.  
  2551. If your  DOS command  interpreter resides  somewhere other  than  the  root
  2552. directory of  C:, you  would substitute  the appropriate directory path, as
  2553. in:
  2554.  
  2555.           SHELL=C:\DOSFILES\COMMAND.COM /P /E:1024
  2556.  
  2557. In the  above example,  the DOS command interpreter is in the sub-directory
  2558. named C:\DOSFILES.   The  "/P" switch  tells DOS  that  this  is  to  be  a
  2559. "permanent" command interpreter (one that the EXIT command cannot release).
  2560. The "/E" switch tells DOS the desired environment size (from 128 to 32767 -
  2561. the minimum  and maximum  vary slightly  among DOS  versions). It  must  be
  2562. followed by a colon and a number within the allowable range.
  2563.  
  2564. If no  SHELL statement is included in your CONFIG.SYS file, the environment
  2565. is set  to a  (small) default of 160 or so bytes, depending on DOS version.
  2566. This is  inadequate for systems which use multiple SET statements to modify
  2567. the  environment,   including  systems  running  WR-BBS  along  with  other
  2568. environment-dependent applications.
  2569.  
  2570.      WARNING!   Make sure  you know  the exact location of your actual
  2571.      DOS command interpreter (COMMAND.COM) before modifying CONFIG.SYS
  2572.      with a SHELL statement.  If your SHELL statement points to a non-
  2573.      existent  path,   or  a  directory  not  containing  the  command
  2574.      interpreter, DOS  will not boot, and you will be left with a hung
  2575.      system that  only says  "Bad or missing command interpreter".  If
  2576.      this happens,  you will  need to  boot  from  a  system-formatted
  2577.      floppy diskette, and then modify the hard drive's CONFIG.SYS.
  2578.  
  2579. NOTE:  If your are using a DOS enhancer which provides an alternate command
  2580. interpreter, such  as 4DOS, EZSHELL or WR-DOS, check with the documentation
  2581. that accompanies  the DOS  enhancer  for  instructions  on  increasing  the
  2582. environment if  needed.  (WR-DOS's environment is 2000 bytes by default, so
  2583. it should not be necessary to change it).
  2584.  
  2585. ---------------------------------------------------------------------------
  2586.                               MODEM PROBLEMS
  2587.  
  2588. If your modem does not work properly with WR-BBS, it is likely that one (or
  2589. more) of the following problems exist:
  2590.  
  2591.      1.    Your  modem  has  hardware  DIP  switches  which  allow  certain
  2592.      configuration items  to be "hard configured" on the modem - and one or
  2593.      more of these switches is set incorrectly.  If your modem has hardware
  2594.      switches or jumpers, make sure that they are set as follows:
  2595.  
  2596.           A.   Carrier detect  (CD) signal not forced on, but tracks actual
  2597.           carrier detection at all times.
  2598.           
  2599.           B.   Data Terminal  Ready (DTR)  signal not  forced  on,  but  is
  2600.           controlled by the communications program (WR-BBS).
  2601.           
  2602.           C.   Auto answer  MUST BE OFF.  WR-BBS requires auto-answer to be
  2603.           disabled for  correct operation.  The only exception to this rule
  2604.           is  if   you  have  a  defective  or  incompatible  modem  -  see
  2605.           RINGDETECT= in section 10.
  2606.  
  2607.      2.   Your modem  initialization string  is not being recognized by the
  2608.      modem.  With   most  modems,   any  invalid  command  in  any  of  the
  2609.      initialization strings  will cause  the modem  to  ignore  the  entire
  2610.      initialization string. To check for this, watch the WR-BBS main screen
  2611.      during startup.   The  status bar shows the response sent by the modem
  2612.      after  each  command,  including  the  initialization  strings.    The
  2613.      response you  see  in  the  status  bar  should  be  an  echo  of  the
  2614.      initialization string  itself, followed  by "OK".   (There may be some
  2615.      arrows in  that string  as well,  representing linefeed  and  carriage
  2616.      return characters).   If  you do  not see the initialization string(s)
  2617.      echoed back, or see the word "ERROR" on the status bar, then the modem
  2618.      did not recognize the initialization string.
  2619.  
  2620.      3.   You have  included S0=1  (or some other value other than zero) in
  2621.      your initialization  string.   This turns  on the  modem's auto answer
  2622.      feature, which prevents WR-BBS from working properly. Auto answer MUST
  2623.      BE OFF.   WR-BBS  requires auto-answer  to  be  disabled  for  correct
  2624.      operation.  The only exception to this rule is if you have a defective
  2625.      or incompatible modem - see RINGDETECT= in section 10.
  2626.      
  2627.      4.   Your modem does not recognize the commands commonly used by Hayes
  2628.      <tm> modems.   Some  modems claim  to be  "100% guaranteed  Hayes <tm>
  2629.      compatible" when  in fact  they are  not at  all.   If you have one of
  2630.      these modems,  you will  have to  research and  configure  the  proper
  2631.      command strings and initialization codes.
  2632.  
  2633.  
  2634. ---------------------------------------------------------------------------
  2635.                        MISCELLANEOUS TROUBLESHOOTING
  2636.  
  2637.  
  2638. PROBLEM:   During startup,  WR-BBS says  "HOLDING DTR DOWN FOR XX SECONDS",
  2639. and then aborts the startup process.
  2640.  
  2641.      SOLUTION:   Your modem  is incorrectly  set up  and is  reporting that
  2642.      carrier detect  is present  at all  times.  To WR-BBS, the presence of
  2643.      carrier means that a caller is probably connected, and WR-BBS attempts
  2644.      to drop the "caller" by dropping DTR for up to 30 seconds.  If carrier
  2645.      is still  detected, WR-BBS  aborts the  modem initialization (and does
  2646.      not start),  because it  has not  established the  control it requires
  2647.      from the modem.
  2648.  
  2649. PROBLEM:   A call  rings in,  and WR-BBS  reports that  it is answering the
  2650. call.   But instead of the caller establishing a connection, WR-BBS reports
  2651. a result code error and the caller is dropped.
  2652.  
  2653.      SOLUTION:   Your modem  is configured incorrectly, and is set to auto-
  2654.      answer. When  WR-BBS sends  the answer  command, the  modem aborts the
  2655.      connection, and  WR-BBS never  sees a valid connect code.  Auto-answer
  2656.      should never  be enabled,  except for  a few  rare circumstances.  See
  2657.      RINGDETECT= in section 10 (configuring with WRCONFIG.SYS).
  2658.  
  2659. PROBLEM:   A caller  logs on  via the modem, and has no problems during the
  2660. on-line session.   When  they say  goodbye, however, WR-BBS reports that it
  2661. cannot disconnect the caller, logs errors, and then WR-BBS re-starts.
  2662.  
  2663.      SOLUTION:   An incorrect  modem configuration is to blame.  Your modem
  2664.      is set  to hold  DTR "high"  at all times, and therefore WR-BBS cannot
  2665.      drop DTR to disconnect the caller.  WR-BBS does not use the unreliable
  2666.      method of  sending +++  ATH0 to  disconnect a caller.  Dropping DTR is
  2667.      guaranteed to  positively disconnect the caller - provided that WR-BBS
  2668.      is allowed to control the DTR signal.
  2669.  
  2670. PROBLEM:   When a  caller  selects  a  file  transfer  or  door,  they  are
  2671. disconnected when WR-BBS shells out to run the protocol or door.
  2672.  
  2673.      SOLUTION:   WR-BBS does not alter the DTR or any other signals when it
  2674.      shells out.  Make sure that you file transfer protocol or door program
  2675.      is configured  properly -  and check  for  any  error  messages  those
  2676.      programs generate.  The use of DOORWAY to control doors is recommended
  2677.      for trouble  free operation.   You  can download an evaluation copy of
  2678.      DOORWAY from most large BBS systems.
  2679.  
  2680. PROBLEM:   When WR-BBS  starts up, it sometimes runs the W-TREE maintenance
  2681. utility and rebuilds the index files.
  2682.  
  2683.      SOLUTION:   The file  indices are  rebuilt, as  part  of  the  startup
  2684.      process, any  time that  the W-TREE Database Manager cannot verify the
  2685.      indexes as being current.  The usual cause is that WR-BBS was not shut
  2686.      down properly.   The correct way to shut down WR-BBS is to press ALT-Q
  2687.      from the  main screen, confirm the shutdown request, and then wait for
  2688.      all WR-BBS  processes to  terminate (about 20 seconds).  You will know
  2689.      when WR-BBS  has stopped  because your  system prompt will return.  If
  2690.      you do  not shut  WR-BBS down  properly, or reboot during the shutdown
  2691.      process, the  W-TREE Database  Manager will not have an opportunity to
  2692.      detach the files (DOS will force them closed instead),  and the W-TREE
  2693.      Database Manager  will rebuild  the indices  on the next startup.  The
  2694.      chance of  damaging the  actual data files due to an improper shutdown
  2695.      is minimal, but that risk is one you should avoid anyway.
  2696.  
  2697.  
  2698. PROBLEM:   During startup,  WR-BBS gets  to the  point  where  is  displays
  2699. "Database is not on line ... starting W-TREE Database Manager ...", then it
  2700. aborts, reporting  error #  W-99000-4.  The error text is "INSUFFICIENT DOS
  2701. FILE HANDLES".
  2702.  
  2703.      SOLUTION:   This error happens when the operating system (DOS) refuses
  2704.      to allow  enough files to be opened for WR-BBS operation.  You can fix
  2705.      this  easily   by  modify   your  FILES=   entry  in  CONFIG.SYS  (not
  2706.      WRCONFIG.SYS).   You should  have FILES=30  or  more  to  ensure  than
  2707.      sufficient file handles are available for WR-BBS.
  2708.  
  2709. PROBLEM:  The WR-BBS activity log has entries that read "ERROR DURING IMAGE
  2710. SWAP TO EMS - SHELL USED"
  2711.  
  2712.      SOLUTION:  This message occurs if WR-BBS tries to swap the program out
  2713.      of regular memory into EMS (exPANDed memory), but cannot complete that
  2714.      operation.  It is usually due to the EMS not being compatible with the
  2715.      LIM standard,  or due  to contention  from another program in a multi-
  2716.      tasking environment,  or due  to a  TSR (such  as a  disk cache) which
  2717.      unexpectedly accesses  EMS while WR-BBS is swapping out.  WR-BBS swaps
  2718.      out for doors, file transfers, and events.  This is not a fatal error,
  2719.      but simply  informs you that WR-BBS used a conventional shell (without
  2720.      swapping out).
  2721.  
  2722. PROBLEM:   WR-BBS reports error # W-10XXX-2, W-99000-3 or W-10XXX-15 (where
  2723. "XXX" is any three digits), and then WR-BBS shuts down and restarts.
  2724.  
  2725.      SOLUTION:  These errors indicate path errors.  The usual cause is that
  2726.      you have the WR-BBS home directory included in your DOS path statement
  2727.      (it should  not be).   It can also occur in a networked environment if
  2728.      the server  logs the  WR-BBS machine out, and remaps the drive letters
  2729.      while doing  so. Another  possible cause  is if  one  of  your  events
  2730.      corrupts the  DOS environment so that the home path environment string
  2731.      is not longer valid.
  2732.  
  2733. PROBLEM:   WR-BBS starts  up normally,  but then  thinks that  there is  an
  2734. incoming call  (when there is none).  It "answers" the phantom call, but of
  2735. course, never establishes a connection.
  2736.  
  2737.      SOLUTION:   Your modem is set to report that carrier is present at all
  2738.      times -  an invalid  setting.   Make sure  that AT&C1  appears in your
  2739.      modem initialization  string, and  that your  modem's DIP  switches or
  2740.      jumpers (if  any) are set to honor carrier detect and not artificially
  2741.      hold it high.
  2742.  
  2743.  
  2744. PROBLEM:   Callers complain about "missing" characters, skewed screens, and
  2745. file transfers that fail for no apparent reason.
  2746.  
  2747.      SOLUTION:   Dropped characters  are almost  always due  to one  of two
  2748.      things:
  2749.      
  2750.      1.   Flow control  mismatch:   WR-BBS by  default does  not  use  flow
  2751.      control. If  you are  using an error correcting modem with locked DTE,
  2752.      be sure to set CTSFLOW=Y in WRCONFIG.SYS, and configure the modem (via
  2753.      initialization strings)  to work  with CTS  flow control (not XON/XOFF
  2754.      flow control).
  2755.      
  2756.      2.   Interrupt latency:   Programs  that are running simultaneously on
  2757.      the same machine as WR-BBS can "lock" interrupts for extended periods,
  2758.      causing "drop  outs" on  the communications  port.    Some  "resident"
  2759.      programs (TSR's)  are guilty of this.  Such programs include some disk
  2760.      caching programs,  especially when  the cache  is  configured  to  use
  2761.      exTENDed memory.  To troubleshoot this problem, temporarily remove all
  2762.      DEVICE statements  from  CONFIG.SYS  (not  WRCONFIG.SYS),  and  rename
  2763.      AUTOEXEC.BAT to  something else  to hide  it from  DOS.  Then boot the
  2764.      system, manually  type a  SET statement to set WR-BBS's home path, and
  2765.      then start  WR-BBS.   If the  problem no  longer  exists,  try  adding
  2766.      statements back into CONFIG.SYS one at a time, rebooting each time and
  2767.      checking  for  dropped  characters.    Then  add  each  line  back  to
  2768.      AUTOEXEC.BAT, doing  the same  thing, until  the offending  program is
  2769.      found.
  2770.  
  2771.  
  2772. ---------------------------------------------------------------------------
  2773.                                NEED SUPPORT?
  2774.  
  2775. Support for WR-BBS is available exclusively through the WR-BBS Headquarters
  2776. BBS.   Call (206) 828-9089.  See section 1 for more detailed information on
  2777. WR-BBS support.   If  you have problems with WR-BBS that cannot be resolved
  2778. by following the instructions in this document, please log on to the WR-BBS
  2779. Headquarters BBS.
  2780.  
  2781.  
  2782.  
  2783. ===========================================================================
  2784. SECTION 15                                                     MIDNIGHT.BAT
  2785. ===========================================================================
  2786.  
  2787. One of the features built into WR-BBS is the ability to automatically run a
  2788. batch file  when the  computer's clock indicates that the date has changed.
  2789. If you  have a  batch file  named MIDNIGHT.BAT in the same directory as the
  2790. WR-BBS program files (the home path), this file will be executed as soon as
  2791. WR-BBS becomes  idle after  a date  change.   If there is no call (or local
  2792. administration activity)  when the  date changes,  then  MIDNIGHT.BAT  will
  2793. execute within  sixty seconds  of midnight.  If there is a call in progress
  2794. when the date changes, or you are doing some administrative activity on WR-
  2795. BBS from  the local console when midnight rolls around, WR-BBS will execute
  2796. MIDNIGHT.BAT as  soon as the system becomes idle again, ie after the caller
  2797. logs off, or the administration activity stops.
  2798.  
  2799. The use  of MIDNIGHT.BAT is optional.  If the batch file named MIDNIGHT.BAT
  2800. does not  exist in  the WR-BBS home directory, nothing will happen when the
  2801. date changes,  and the  system will  continue to  wait for calls just as it
  2802. does at any other time.
  2803.  
  2804. A sample  MIDNIGHT.BAT  file  is  included  with  the  WR-BBS  distribution
  2805. archive.   You can modify this file to suit your needs, or delete it if you
  2806. do not  wish to  use this  optional feature.  Some functions that you could
  2807. include in MIDNIGHT.BAT might be:
  2808.  
  2809.      1.  To archive the log file.
  2810.      2.  To copy the WR-BBS database files to a backup directory.
  2811.      3.  To update your date-sensitive bulletin files.
  2812.  
  2813. WR-BBS closes all of its files before executing MIDNIGHT.BAT, so it is safe
  2814. to copy  the database  files.   WR-BBS shells  out to  run MIDNIGHT.BAT (as
  2815. opposed to  terminating), so  no special  considerations in your batch file
  2816. are needed.  Just make sure that whatever programs you launch in your batch
  2817. file automatically  end themselves.  Programs that may require human input,
  2818. or operations that access the floppy drives or printer are not recommended.
  2819. If one  of these operations has an error, the system will remain hung until
  2820. human intervention occurs.
  2821.  
  2822. When WR-BBS  calls MIDNIGHT.BAT,  it adds  one parameter to the DOS command
  2823. line.   This parameter is a six digit string representing the current date.
  2824. For example,  when MIDNIGHT.BAT  runs on  June 14, 1993, WR-BBS invokes the
  2825. batch file with the following command line:
  2826.  
  2827.           MIDNIGHT.BAT 061493
  2828.  
  2829. You can  ignore the  parameter passed  to the batch file if you have no use
  2830. for it.  You can capture that string by reading the DOS command line (using
  2831. %1) in  your MIDNIGHT.BAT  batch file.   You might want to use it to rename
  2832. the current  activity log  (to a filename representing the current date) or
  2833. some other  date-specific DOS  operation.   The sample copy of MIDNIGHT.BAT
  2834. shows one  example of  using the  date string that is passed by WR-BBS when
  2835. MIDNIGHT.BAT is called, to archive the log file.
  2836.  
  2837. CAUTION:   Do NOT  call WR.BAT  or launch  WRBBS.EXE from your MIDNIGHT.BAT
  2838. file.   This will  result in  two  copies  of  WR-BBS  being  loaded,  with
  2839. unpredictable  (possibly  catastrophic)  results.    Let  MIDNIGHT.BAT  end
  2840. normally, and WR-BBS will "un-shell" and resume operation.
  2841.  
  2842. If you do not wish to use this feature, delete or rename MIDNIGHT.BAT.
  2843.  
  2844.  
  2845. ===========================================================================
  2846. SECTION 16                                                     WR_AFTER.BAT
  2847. ===========================================================================
  2848.  
  2849.        This is  an optional feature that WR-BBS offers.  You do not
  2850.        have to  use WR_AFTER.BAT.   If  you do not wish to use this
  2851.        feature, delete or rename WR_AFTER.BAT from your WR-BBS home
  2852.        directory.
  2853.  
  2854. You may  have a  need to  do some kind of "housekeeping" after each call is
  2855. processed by  your WR-BBS  system.  For example, you may have a third-party
  2856. utility that  scans the  user database  for new users, or perhaps a utility
  2857. that collects  statistics from  the activity log file.  Such utilities need
  2858. to be  launched after  each call  is completed  by WR-BBS.   The batch file
  2859. WR_AFTER.BAT will do that for you.
  2860.  
  2861. After each  caller logs  off (or  otherwise ends their call), WR-BBS checks
  2862. the home directory for the existence of a file named WR_AFTER.BAT.  If this
  2863. file does  not exist,  WR-BBS simply  continues along  and prepares for the
  2864. next call.   If,  however, WR_AFTER.BAT is found, WR-BBS suspends operation
  2865. after recycling the modem (but before opening the modem for the next call),
  2866. and executes WR_AFTER.BAT.
  2867.  
  2868. When WR-BBS starts WR_AFTER.BAT, it (WR-BBS) does not completely terminate,
  2869. but swaps out to disk and then calls WR_AFTER.BAT.  Do not run any programs
  2870. in WR_AFTER.BAT  that remain in memory (TSR's), and do not call WR.BAT from
  2871. WR_AFTER.BAT.   Doing either  of these no-no's will result in unpredictable
  2872. problems and mysterious error messages from WR-BBS.
  2873.  
  2874.  
  2875. ===========================================================================
  2876. SECTION 16                                     HOW THE MESSAGE SYSTEM WORKS
  2877. ===========================================================================
  2878.  
  2879. The message  system uses  a database  file (WRBBSMSG.DAT)  to keep track of
  2880. messages.   Information about  who sent  a message, the intended recipient,
  2881. dates and  times, receipt,  and other  details are all stored as records in
  2882. the message database.
  2883.  
  2884. The messages  themselves are  saved as  individual text  files, in  a  sub-
  2885. directory that  WR-BBS creates  off the home path.  Depending on the number
  2886. of messages  on file, there can be more than one message sub-directory. The
  2887. first message  sub-directory is  named MSGFILES.000, and additional message
  2888. sub-directories are  named MSGFILES.001,  MSGFILES.002 and  so  on.  A  new
  2889. message sub-directory  is created  when an  existing one  has more than 254
  2890. current messages.   WR-BBS,  when creating a message file, first checks any
  2891. and all  existing message sub-directories to see if there is room available
  2892. for another  message file.   Thus, if the MSGFILES.000 has 255 files in it,
  2893. but 100  messages are  deleted, the  next 100 new messages will be put into
  2894. MSGFILES.000 rather than creating a new sub-directory.
  2895.  
  2896. There can  be up  to 1000 message sub-directories, but in order for this to
  2897. occur, there  would have  to be  more than  254,999 messages on file at one
  2898. time - an unlikely event on any WR-BBS system.
  2899.  
  2900. When callers delete messages (or messages are deleted by the SysOp), WR-BBS
  2901. automatically  deletes   the  corresponding   message  text   file  in  the
  2902. appropriate message  sub-directory, freeing  that space  for the  next  new
  2903. message.
  2904.  
  2905. The message  text files  are given  unique random  file names,  based on  a
  2906. built-in algorithm.   Do not rename or delete active message text files. If
  2907. a caller  attempts to  read an active message whose corresponding text file
  2908. is missing, and error message is displayed to the caller, indicating that a
  2909. system  error   has  occurred.     The  "system  errors"  counter  is  then
  2910. incremented, and an entry is made in the activity log to record the error.
  2911.  
  2912.  
  2913.  
  2914. ===========================================================================
  2915. SECTION 17                                               CONFIGURING EVENTS
  2916. ===========================================================================
  2917.  
  2918. You may wish to set up events on your WR-BBS system.  Event configuration
  2919. is not required for operation of WR-BBS, so if you are setting up your WR-
  2920. BBS for the first time, you may wish to skip this section, and (optionally)
  2921. configure some events later on.
  2922.  
  2923. Events are external programs, utilities, or functions that you can schedule
  2924. to occur  on or  after a certain time each day, or only on a certain day(s)
  2925. of the  week.  Most BBS's utilize events as part of their normal operation,
  2926. but this is not mandatory.  Some examples of events are:
  2927.  
  2928.      - To  automatically back  up the  BBS data  files to  diskette or tape
  2929.           drive during a period of low call activity.
  2930.      
  2931.      - To  copy or archive the activity log file each night, the delete the
  2932.           original log  file, thus  preventing the  activity log  file from
  2933.           becoming large and unmanageable.
  2934.      
  2935.      - To  update or  create bulletin  screen files  at a certain interval,
  2936.           thus providing fresh bulletins for subsequent callers.
  2937.      
  2938.      - To  run a  program which  synchronizes the  computer's clock with an
  2939.           external source,  thus ensuring  that the computer always has the
  2940.           right time.
  2941.  
  2942. Most events are driven by batch files, which then launch the actual utility
  2943. program.  It is possible, however, to launch a program directly.
  2944.  
  2945. With WR-BBS,  there are  two types  of events  that can  be  configured,  a
  2946. "shell" event,  and a "terminate" event.  When a "shell" event runs, WR-BBS
  2947. (or a  portion of  WR-BBS) remains  loaded in  memory, and WR-BBS calls the
  2948. external program, much in the same way that the SysOp can shell to DOS from
  2949. WR-BBS.   The called  program executes,  and when  it is  finished, control
  2950. returns to  WR-BBS, which  then picks  up where it left off.  A majority of
  2951. events can be "shell" events.  A "shell" event is the easiest to configure,
  2952. as you  only need to specify the day(s), time, and the name of the batch or
  2953. program to be executed.
  2954.  
  2955. With a  "terminate" event,  WR-BBS shuts completely down, closes all files,
  2956. and then terminates.  It no longer exists in memory, and all interrupts and
  2957. file handles  are released to DOS.  It is up to WR.BAT (the batch file that
  2958. controls WR-BBS,  to detect  the unique  DOS error level when this happens,
  2959. and launch  the event program.  WR.BAT or the launched batch file must then
  2960. restart WR-BBS,  as WR-BBS is completely shut down when a "terminate" event
  2961. is invoked, and cannot restart itself.
  2962.  
  2963. Why would you use a "terminate" event instead of a "shell" event?  Here are
  2964. some examples:
  2965.  
  2966.      - If  the event program needs to open a lot of files.  DOS only allows
  2967.           a given  number of  files to be assigned at a given time.  WR-BBS
  2968.           has up  to nine files assigned and/or open, even when waiting for
  2969.           a call.   During  a "shell"  event, WR-BBS  closes the files, but
  2970.           does not  "un-assign" the  file  handles.    As  far  as  DOS  is
  2971.           concerned, there  are still  nine file  handles in  use.   If the
  2972.           event program  needs to  open a  lot of files, DOS may react with
  2973.           "no more file handles".
  2974.      
  2975.      - If  you run  an event  program that changes the FAT (file allocation
  2976.           table), you  must run  the event  as a  "terminate  event".    An
  2977.           example is  a disk  optimizer  program.    Most  disk  optimizers
  2978.           directly modify  the FAT, and make low-level calls to DOS to move
  2979.           file sectors around.  If WR-BBS did a "shell" event to run a disk
  2980.           optimizer, then  the assigned files wouldn't be in the same place
  2981.           after the  event runs  as they were before the event. WR-BBS (nor
  2982.           any other  program) would not be aware of the change, and when it
  2983.           attempts to update files, the results could be disastrous.
  2984.      
  2985.      - Events  which use the same communications hardware as WR-BBS require
  2986.           that WR-BBS  do a  "terminate" event.  When WR-BBS terminates, it
  2987.           de-installs all  communications interrupts.  During a shell, this
  2988.           is not  done.  If you run a "shell" event which uses the same COM
  2989.           port as  WR-BBS, you  may find  that WR-BBS doesn't recognize the
  2990.           COM port  any more.  When this happens, WR-BBS may crash when the
  2991.           next call  rings in.   Some  of the better written communications
  2992.           utilities (including  WR-BBS) restore the COM port interrupts and
  2993.           vectors to  the exact  state they were in at startup time, rather
  2994.           than to  a default setting.  Such programs can probably be safely
  2995.           run in  a "shell"  event  under  WR-BBS.    If  in  doubt,  do  a
  2996.           "terminate" event.
  2997.  
  2998. All events are configured with an entry in WRCONFIG.SYS. There can be up to
  2999. 16 "EVENT="  entries.   If more  than 16  appear in  WRCONFIG.SYS, only the
  3000. first 16 are used, and an error message appears during startup.  Each event
  3001. entry consists of four parts:
  3002.  
  3003.      1.  The "EVENT=" string, which must be the first six characters.
  3004.      2.  A single numeric character, indicating what day(s) of the week the
  3005.           event should occur on.
  3006.      3.  The time the event should occur (24 hour notation).
  3007.      4.  Either a fully pathed file name, if the event is to run a program,
  3008.           or a  number (65-80)  which is designates the DOS errorlevel that
  3009.           WR-BBS should terminate with when the event is due.
  3010.  
  3011.      Each of the four entries is separated with a "pipe" symbol (|).
  3012.      
  3013.      For item 2, the day(s) designator, use one of the following:
  3014.      
  3015.      1 = Each Monday
  3016.      2 = Each Tuesday
  3017.      3 = Each Wednesday
  3018.      4 = Each Thursday
  3019.      5 = Each Friday
  3020.      6 = Each Saturday
  3021.      7 = Each Sunday
  3022.      9 = Every day of the week
  3023.  
  3024.      A value of "8" for the day designator is not meaningful, and the event
  3025.      will never execute if set for day "8".
  3026.      
  3027.      For item  # 3, the event's time, you must enter the full 24 hour time,
  3028.      complete with  leading zeros.  Thus, 13:55, 02:00, and 00:45 are valid
  3029.      times, but  2:00 is  not.   Midnight is  expressed as 00:00.  There is
  3030.      minimal error  checking on  the event configuration, so it is possible
  3031.      to schedule an impossible event, such as at 25:00
  3032.  
  3033.  
  3034. Some examples:
  3035.  
  3036.      EVENT=1|02:00|C:\UTILITY\COPYFILE.BAT
  3037.  
  3038. The above  event will  run each Monday morning at 2:00 AM.  It is a "shell"
  3039. event, and  the batch  file named  COPYFILE.BAT in the C:\UTILITY directory
  3040. will be executed when the event runs.
  3041.  
  3042.      EVENT=1|02:00|*66
  3043.  
  3044. The above  event is a "terminate" event.  It will occur each Monday at 2:00
  3045. AM.   When that  time rolls  around, WR-BBS will terminate, setting the DOS
  3046. error level  to 66.   The  batch file  that started WR-BBS (such as WR.BAT)
  3047. will test  for this error level, invoke the other program, then restart WR-
  3048. BBS.
  3049.  
  3050. See section  8, which  details the  workings of WR.BAT, for a more detailed
  3051. explanation of how DOS error levels are detected and branched.
  3052.  
  3053. If you  wish to have multiple events run on exactly the same schedule, just
  3054. schedule one  event in  WR-BBS, and  have that event run a batch file which
  3055. launches the  multiple programs.   If  any two  (or more)  WR-BBS scheduled
  3056. events are configured to occur at exactly the same time, the order in which
  3057. the events  will be  launched is determined by the order in which they were
  3058. posted to the task queue, which may not be the order you listed them in the
  3059. configuration file WRCONFIG.SYS.
  3060.  
  3061. In order  for an  event to  execute, WR-BBS  must be  loaded, running,  and
  3062. waiting for calls.  If WR-BBS is doing something else (such as processing a
  3063. call, or  local SysOp activity), the event will not launch until the system
  3064. becomes idle again.  This version of WR-BBS does not incorporate a facility
  3065. to force  a caller  off the  system when an event is pending.  Keep this in
  3066. mind for extremely time-critical events.
  3067.  
  3068.  
  3069.  
  3070. ===========================================================================
  3071. SECTION 18                                                THE QUESTIONNAIRE
  3072. ===========================================================================
  3073.  
  3074. WR-BBS includes a questionnaire facility.  There is only one questionnaire.
  3075. You can include up to 255 "questions" in the routine, and collect an answer
  3076. to each  question.  The responses are stored in a text file, annotated with
  3077. the caller's  name, and  the date  and time  that the  caller selected  the
  3078. questionnaire.   There is no format-checking done on the responses.  Unlike
  3079. the New  User Questionnaire, callers have the opportunity to "skip" answers
  3080. or abort the questionnaire entirely at any point.
  3081.  
  3082.           NOTE:   After the  caller has  completed the questionnaire (or if
  3083.           they abort  the questionnaire at any point), they are returned to
  3084.           the Main Menu.
  3085.  
  3086. You do  not have  to have  a questionnaire if you have no need for one.  If
  3087. you would  prefer not  to have a questionnaire available to callers, simply
  3088. make sure  that there is no directory named QUESTION as a sub-directory off
  3089. the home  path.   Any callers  who press  "Q" at the main menu will then be
  3090. told  that  no  questionnaire  has  been  configured.    To  reduce  caller
  3091. confusion, you should also edit the MAINMENU.ASC and MAINMENU.ANS screen to
  3092. remove the (Q)uestionnaire option if it presently appears as a choice.
  3093.  
  3094. Before you  enable the questionnaire, you must first create a few (or more)
  3095. short "question files".  These are essentially the same as the screen files
  3096. used elsewhere  in WR-BBS,  except they  are typically  much smaller, since
  3097. they usually  consist of just one or two sentences.  Just as with other WR-
  3098. BBS screen  files, you  need to  create an  ASCII (.ASC)  and  ANSI  (.ANS)
  3099. version of each file.  There can be up to 255 questions. Most callers would
  3100. not endure  even 100 questions, so your questionnaire will probably consist
  3101. of maybe  a dozen  questions maximum  - but you can go wild and write up to
  3102. 255 questions  if you  have a special need.  The filenames for the question
  3103. files follow the WR-BBS convention:
  3104.  
  3105.                                Non-ANSI              ANSI
  3106.                                ------------          ------------
  3107.           1st question         QUES0001.ASC          QUES0001.ANS
  3108.           2nd question         QUES0002.ASC          QUES0002.ANS
  3109.           3rd question         QUES0003.ASC          QUES0003.ANS
  3110.           
  3111.           and so on ...
  3112.  
  3113. There is also a "last" display file which can optionally be included in the
  3114. questionnaire routine.   This  file is  displayed to  the caller  after the
  3115. caller successfully  answers all  of the  questions.   It might  be a brief
  3116. message saying  "thank you  for answering the questions" or something along
  3117. that line.  The filenames for this "last" display file are EPILOGUE.ASC and
  3118. EPILOGUE.ANS.
  3119.  
  3120. All of the files described above are placed in a special sub-directory, off
  3121. the home  path directory.   The name of this special directory is QUESTION.
  3122. For example,  if your  home path is C:\WR-BBS, then you would create a sub-
  3123. directory named  C:\WR-BBS\QUESTION.   To do  this,  issue  the  DOS  MKDIR
  3124. command (substituting your correct home path if different):
  3125.  
  3126.           MKDIR C:\WR-BBS\QUESTION
  3127.  
  3128. You are  then ready  to add  the question  files to  the new sub-directory.
  3129. When a caller selects (Q)uestionnaire from the main menu, WR-BBS checks for
  3130. the existence  of the  sub-directory named  QUESTION, then for any question
  3131. files.   It then  displays the  first  question  file,  gets  the  caller's
  3132. response, displays the second question file, the caller responds again, and
  3133. so on.
  3134.  
  3135.           NOTE:   For proper  operation, use  consecutive numbers  in  your
  3136.           question filenames - don't skip any numbers.
  3137.  
  3138. Caller options during the questionnaire:
  3139.  
  3140.           The caller can answer the question by typing a one line response.
  3141.           
  3142.           The caller can skip the question by pressing <ENTER> alone.
  3143.           
  3144.           The caller  can abort  the questionnaire by typing a star (*) and
  3145.           then pressing <ENTER>.
  3146.  
  3147. The answers  left by  callers are  stored  in  an  ASCII  text  file  named
  3148. ANSWERS.TXT.   This file  is located in the QUESTION sub-directory.  If the
  3149. caller skips  any questions  while proceeding  through  the  questionnaire,
  3150. ANSWERS.TXT will  have an  entry "NO  RESPONSE FROM [CALLER NAME]".  If the
  3151. caller aborts  the questionnaire,  it will  be recorded  in ANSWERS.TXT  as
  3152. "[CALLER NAME] ABORTED QUESTIONNAIRE".   If the caller drops carrier during
  3153. the questionnaire,  this will  also be recorded in ANSWERS.TXT, if the loss
  3154. of carrier  is detected  at any  time except  when a question file is being
  3155. transmitted.  WRBBSLOG.TXT will also have a record of dropped carriers.
  3156.  
  3157. As subsequent  callers complete  the  questionnaire,  their  responses  are
  3158. appended to  ANSWERS.TXT -  this file  grows with  each activation  of  the
  3159. questionnaire facility.   You  may wish  to include  some kind of automatic
  3160. archiving routine  in MIDNIGHT.BAT  or an event, which moves ANSWERS.TXT to
  3161. another location.   WR-BBS  automatically creates a new ANSWERS.TXT file if
  3162. none is  found.   See section  15 for  more details  on  MIDNIGHT.BAT,  and
  3163. section 17 for more details on configuring events.
  3164.  
  3165. ===========================================================================
  3166. SECTION 19                                                 THE ACTIVITY LOG
  3167. ===========================================================================
  3168.  
  3169. WR-BBS creates  and updates  a log  file named WRBBSLOG.TXT, located in the
  3170. home path.   The  following are  some examples  of types  of  activity  are
  3171. recorded in WRBBSLOG.TXT:
  3172.  
  3173.           - Callers logging in.
  3174.           - Callers changing their passwords.
  3175.           - Callers  requesting various features throughout the WR-BBS menu
  3176.                     system.
  3177.           - Callers making mistakes, or selecting unauthorized features.
  3178.           - Callers dropping carrier.
  3179.           - File transfers.
  3180.           - WR-BBS being started or re-started.
  3181.           - WR-BBS being shut down.
  3182.           - Errors that occur during WR-BBS startup or shutdown.
  3183.           - Errors that occur during WR-BBS runtime.
  3184.           - Errors detected by the W-TREE Database Manager.
  3185.           - System status messages.
  3186.           - SysOp administration activity.
  3187.  
  3188.  
  3189. WR-BBS keeps  only one  log file  - there  is no  separate file for errors.
  3190. Since WRBBSLOG.TXT is an ASCII text file, you can use a third party utility
  3191. (or even  something as  basic as DOS's FIND) to search for specific strings
  3192. in the log file.
  3193.  
  3194. If WRBBSLOG.TXT does not exist, WR-BBS creates a new one when it next needs
  3195. to record  an event.   If  WRBBSLOG.TXT does  exist, WR-BBS  appends  event
  3196. information to it.  You will probably want to implement some scheme to copy
  3197. the contents  of WRBBSLOG.TXT to an archival location at regular intervals.
  3198. The sample MIDNIGHT.BAT file gives an example of how to do this.
  3199.  
  3200. Should WR-BBS  experience a  "fatal" error  during runtime,  the details of
  3201. that error  will usually  (but not always) be logged to WRBBSLOG.TXT.  Some
  3202. errors are  so severe  that no  file I/O  is possible,  and therefore  they
  3203. cannot be  logged.   If a fatal error occurs and is logged, the information
  3204. in WRBBSLOG.TXT  will be  helpful in  determining exactly  what went wrong.
  3205. Particularly important  are the  Process ID  and System  Status, listed  as
  3206. "PID" and  "SS" in  WRBBSLOG.TXT.   If you  contact the  author for support
  3207. involving a fatal error, this information will be most helpful in resolving
  3208. the problem.
  3209.  
  3210.  
  3211.  
  3212. ===========================================================================
  3213. SECTION 20                                                THE "DOWN" OPTION
  3214. ===========================================================================
  3215.  
  3216. WR-BBS has  a handy feature built-in for "downtime" operation.  This allows
  3217. you to  configure WR-BBS  to answer calls, but not allow callers to log on.
  3218. Instead, callers  are presented  with a message (which you create), and the
  3219. call is then terminated.
  3220.  
  3221. Why would  you want to run your WR-BBS in "downtime" mode?  Perhaps you are
  3222. in the  middle of  overhauling all  your screens,  and you  don't want  the
  3223. computer to get tied up with caller sessions.  If you plan to have your WR-
  3224. BBS down  for any period of time, this feature will be useful - compared to
  3225. the alternatives.   Callers are much more receptive to a "downtime" message
  3226. that getting a constant busy signal or ringing.  On the other hand, if most
  3227. of your  callers use long distance to call your board, it would probably be
  3228. more polite  to not  use the  "downtime" option  when the  board is  down -
  3229. callers are not charged for calls to busy or unanswered lines.
  3230.  
  3231. How to configure WR-BBS for "downtime" operation.
  3232.  
  3233.           1.   Create a  set of  screen files explaining that the system is
  3234.                     unavailable.     See  section  7  for  instructions  on
  3235.                     creating screen  files.   Your announcement  should  be
  3236.                     only a  few lines  long -  never more  than  20  lines.
  3237.                     Create one  for each  type of caller with these special
  3238.                     names - DOWNTIME.ASC and DOWNTIME.ANS.  Put these files
  3239.                     in the  same directory  as all  of  your  other  screen
  3240.                     files.
  3241.           
  3242.           2.   Stop WR-BBS  if it  is running,  by pressing  ALT-Q from the
  3243.                     "waiting for calls" screen.
  3244.           
  3245.           3.  Start WR-BBS by typing this special command line:
  3246.  
  3247.                               WRBBS  /DOWN
  3248.  
  3249.  
  3250. When WR-BBS  is in "downtime" mode, any incoming call is answered as usual,
  3251. but  instead  of  logging  in  the  caller,  WR-BBS  displays  the  special
  3252. DOWNTIME.ASC or  DOWNTIME.ANS screen.  The caller is then prompted to press
  3253. a key  to end  the call.   If  the caller  does not  press a  key, the call
  3254. terminates automatically after 30 seconds.
  3255.  
  3256. To resume normal WR-BBS operation, stop WR-BBS with ALT-Q from the "waiting
  3257. for calls" screen, then type WR to start WR-BBS in normal mode.
  3258.  
  3259.  
  3260. ===========================================================================
  3261. SECTION 21                                        WHILE A CALLER IS ON LINE
  3262. ===========================================================================
  3263.  
  3264. There are some special keys available to the SysOp while a caller is logged
  3265. on.   If the  caller attempts  to press  these keys - they have no effect -
  3266. only the local console can activate these features:
  3267.  
  3268.           PGUP  -   Adds five minutes to the callers time.
  3269.           
  3270.           PGDN  -   Deducts five minutes from the callers time.
  3271.           
  3272.           ALT-X -   Immediately forces the caller off - abruptly!
  3273.  
  3274.  
  3275. In order  to use  these keys,  the caller must be in one of the menus (Main
  3276. Menu, Message System, Files Library).  To activate one of the special keys,
  3277. hold it  down until the desired effect is observed (it may take a second or
  3278. two).
  3279.  
  3280. Remember that  when a  caller is logged on, the local (console) keyboard is
  3281. active along  with the  callers.   This allows  you to  type things for the
  3282. caller (to  show a confused caller how to do something, for example).  This
  3283. also means  that you can "coerce" a caller to one of the menus by using the
  3284. regular command  keys (which  they could  use), and  then press  one of the
  3285. special keys described above.
  3286.  
  3287. ===========================================================================
  3288. SECTION 22                                 EXTERNAL FILE TRANSFER PROTOCOLS
  3289. ===========================================================================
  3290.  
  3291. WR-BBS does  NOT include  any file  transfer protocols in the program file.
  3292. All file  transfer activity  is controlled  by an  external  file  transfer
  3293. utility program(s)  that you  supply.   There are a number of external file
  3294. transfer  protocol   programs  available  from  BBS's  that  specialize  in
  3295. communications and  BBS utility  files, including  the WR-BBS  Headquarters
  3296. BBS.   From some  BBS's you can download public domain (free) copies of the
  3297. Xmodem and  Ymodem  file  transfer  utilities.    Other,  more  proprietary
  3298. protocols can  be obtained  for a  modest registration  fee on  a shareware
  3299. basis.
  3300.  
  3301. The WR-BBS  Headquarters BBS uses DSZ by Omen Technology, Inc., which is an
  3302. excellent multi-protocol  file transfer  utility.  It includes an authentic
  3303. version of  Zmodem, true  Ymodem, Xmodem,  and  many  variations  of  those
  3304. protocols, including  streamers  such  as  Ymodem-G  for  use  with  error-
  3305. correcting modems.  It is  a powerful  program with good documentation, and
  3306. well worth  the registration  fee.   The author is a registered user of DSZ
  3307. for use  in operating  the WR-BBS Headquarters BBS,  but has no affiliation
  3308. with Omen  Technology, Inc.  or the  authors of  their products.   You  can
  3309. obtain more  information on  DSZ or download an evaluation copy of DSZ from
  3310. Omen's BBS  at (503) 621-3746.  Remember to register any shareware programs
  3311. such as DSZ if you continue to use them after the evaluation period.
  3312.  
  3313. After obtaining  one or  more file  transfer utilities,  it is necessary to
  3314. understand how  WR-BBS invokes file transfers.  WR-BBS uses a batch file to
  3315. control all  file transfers.   This  batch file  is named  WFILEXFR.BAT.  A
  3316. sample copy  of WFILEXFR.BAT  is included  with the WR-BBS archive.  If you
  3317. use DSZ,  you can  probably use  that batch  file as  is, or  with  minimal
  3318. modification.
  3319.  
  3320. The batch  file WFILEXFR.BAT  uses the  parameters  to  branch  to  defined
  3321. labels, based  on what  WR-BBS passes.   If  you are  unfamiliar  with  the
  3322. concept of  replaceable parameters (command line variables) in batch files,
  3323. see your DOS manual for more details.
  3324.  
  3325. WR-BBS passes  five parameters  to WFILEXFR.BAT  when a  file  transfer  is
  3326. requested:
  3327.  
  3328. Parameter 1:   A single character, which represents the communications port
  3329.               that WR-BBS  has active  at the  time of  the file  transfer.
  3330.               This is  the port  that you  defined in WRCONFIG.SYS with the
  3331.               "PORTNUMBER=" keyword.  Some file  transfer programs  need to
  3332.               know what  port they  should use, especially if WR-BBS is not
  3333.               set up  to use COM1.  Possible values that may be sent by WR-
  3334.               BBS are  "1" for  COM1, "2",  for COM2, "3" for COM3, "4" for
  3335.               COM4, or  "N" in  the event  of a  local logon  that does not
  3336.               involve the modem (from the local console).
  3337.  
  3338. Parameter 2:   A  string that  represents the caller's connected baud rate.
  3339.               WR-BBS might send "300", "1200", "2400", "9600", etc.  If the
  3340.               caller is  "local" (logged  in from  the local console), then
  3341.               the word  "LOCAL" will  be sent in lieu of the baud rate.  If
  3342.               you  have   an  error-correcting  modem,  and  you  have  set
  3343.               LOCKDTE=Y in  WRCONFIG.SYS, then  WR-BBS will pass the locked
  3344.               DTE speed  as the  second parameter  instead of  the caller's
  3345.               connect speed.   This  is because  the file  transfer utility
  3346.               needs to  work at  the modem's  speed, not the caller's speed
  3347.               (which  is   usually  less).     An   error-correcting  modem
  3348.               compresses data and handles the buffering, so it is okay, for
  3349.               example, to have the file transfer utility cramming data into
  3350.               an error-correcting  modem at 38400 baud, while the caller is
  3351.               connected at  2400 baud.  Error-correcting  modems  use  flow
  3352.               control to  keep the data from overflowing when there is such
  3353.               a speed  difference - thus, it is very important to configure
  3354.               your file  transfer program  for the proper flow control when
  3355.               using  an   error-correcting  modem.    (Some  file  transfer
  3356.               programs,   including    DSZ,   handle   the   flow   control
  3357.               automatically).
  3358.  
  3359. Parameter 3:   Either  the string  "RECEIVE" or  the string  "SEND".   If a
  3360.               caller has  requested an  upload to  your WR-BBS,  then  your
  3361.               system will  "RECEIVE" the  file.   If a  caller  requests  a
  3362.               download, then your system will "SEND" the file(s).
  3363.  
  3364. Parameter 4:   A string - the protocol keyword, as defined in WRCONFIG.SYS.
  3365.               This will  make more  sense when the entries you need to make
  3366.               in WRCONFIG.SYS are explained a few paragraphs later.
  3367.  
  3368. Parameter 5:  The name of the file to be transferred, or the name of a file
  3369.               list (which  is a text file containing a list of file names).
  3370.               In the  case of  a single file transfer, the actual file name
  3371.               will be  sent as  parameter number five.  If there are two or
  3372.               more files  involved, WR-BBS  will create  a text  file named
  3373.               DL.LST, in  the home  path, and  pass  DL.LST  as  the  fifth
  3374.               parameter.  Many file transfer utilities, such as DSZ, expect
  3375.               a "list  file" to  tell them  when multiple  files are  to be
  3376.               transferred.  WR-BBS allows a caller to select up to 99 files
  3377.               for batch  download at  one time.  If the caller selects more
  3378.               than  one  (and  the  file  transfer  protocol  allows  batch
  3379.               transmission), then  WR-BBS puts  all of  the file names, one
  3380.               per line,  in  the  text  file  named  DL.LST,  then  invokes
  3381.               WFILEXFR.BAT, using DL.LST as the fifth parameter.
  3382.  
  3383. Parameter 6:  A numeric string ("1" to "99") which represents the number of
  3384.               files being  transferred.  Although WFILEXFR.BAT does not use
  3385.               this parameter, it is sent by WR-BBS to provide compatibility
  3386.               with file  transfer utilities that expect a file count on the
  3387.               command line.
  3388.  
  3389. Here are  some examples  of the  way that  WR-BBS calls WFILEXFR.BAT when a
  3390. file transfer is requested by a caller.  In each of these examples, we will
  3391. assume that WR-BBS is configured for COM1:
  3392.  
  3393. Example one  - The  caller is  connected at 1200 baud, and has requested an
  3394. Xmodem-CRC download of the file HELLO.TXT  ...
  3395.  
  3396.           WFILEXFR  1  1200  SEND  XMODEMCRC  HELLO.TXT  1
  3397.  
  3398. Example two  - The  caller wants to upload NEWFILE.ZIP, and is connected at
  3399. 2400 baud.   The  caller has chosen SuperVmodem (a fictitious protocol, for
  3400. example purposes only)  ...
  3401.  
  3402.           WFILEXFR  1  2400  RECEIVE  SUPERV  NEWFILE.ZIP  1
  3403.  
  3404. Example three  -  the caller is connected at 2400 baud, and has requested a
  3405. Zmodem download of these three files:  ONE.ZIP, TWO.ZIP, and THREE.ZIP ...
  3406.  
  3407.           WFILEXFR  1  2400  SEND  ZMODEM  DL.LST  3
  3408.  
  3409. Example four    -  the  caller  has  requested  an  Xmodem-1K  download  of
  3410. BIGFILE.ARJ, and  is connected  at 9600  baud (error-free),  with  the  DTE
  3411. locked at 38,400 baud  ...
  3412.  
  3413.           WFILEXFR  1  38400  SEND  XMODEM1K  BIGFILE.ARJ  1
  3414.  
  3415.  
  3416. Where does  WR-BBS get  the protocol  keywords, such  as XMODEMCRC, SUPERV,
  3417. ZMODEM, and  XMODEM1K found  in the  above examples?   Those come from your
  3418. entries in  WRCONFIG.SYS.   Remember that  WR-BBS does  not have  any  file
  3419. transfer protocols  available, until you define what they are and what they
  3420. can do - in WRCONFIG.SYS.  The proper syntax for file transfer protocols in
  3421. WRCONFIG.SYS is:
  3422.  
  3423.           1. The keyword  PROTOCOL=
  3424.           
  3425.           2. The  NAME of the protocol, as you wish to have it displayed to
  3426.              callers.   The name  you enter  here will be the name shown in
  3427.              the list  of available  protocols presented to the caller when
  3428.              they request  a file transfer.  This information is NOT passed
  3429.              to WFILEXFR.BAT  or used for any other reason except to inform
  3430.              the callers that the protocol is available for use.
  3431.           
  3432.           3. A pipe "|" symbol.
  3433.           
  3434.           4. The  protocol's KEYWORD, which will be passed to WFILEXFR.BAT.
  3435.              This string can be 1 to 16 characters long, and cannot contain
  3436.              spaces or any of the following characters:  @ < > , + ; $ %
  3437.           
  3438.               This  information is NEVER displayed to the caller, and it is
  3439.              only for  use by  WFILEXFR.BAT, to  differentiate one protocol
  3440.              from another.   To  make life  easier,  you  should  choose  a
  3441.              protocol KEYWORD  that relates  somehow to  the  name  of  the
  3442.              protocol.  See the examples below.
  3443.           
  3444.           5. Another pipe "|" symbol.
  3445.           
  3446.           6. The  word "SINGLE"  for single-file  protocols,  or  the  word
  3447.              "BATCH" for multiple-file protocols.
  3448.           
  3449.           7. Another pipe "|" symbol.
  3450.           
  3451.           8.   A list of 1 to 26 letters (A to Z), representing the classes
  3452.              of service permitted to use that protocol.
  3453.  
  3454.                                      
  3455.                                      
  3456.            (Port # 1 and 2400 baud used for both examples below)
  3457. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  3458. Example one:   This (fictitious) protocol is called "SpeedyModem X", and is
  3459. capable of  multiple file transfers.  The SysOp wants it to be available to
  3460. all callers  in all  classes of  service.  The SysOp also wants the keyword
  3461. "SPEED" to  be passed  to WFILEXFR.BAT when a caller selects this protocol.
  3462. Here is what the entry in WRCONFIG.SYS would look like:
  3463.  
  3464. PROTOCOL=SpeedyModem (Real Fast)|SPEED_M|BATCH|ABCDEFGHIJKLMNOPQRSTUVWXYZ
  3465.  
  3466. (Callers will see this protocol listed as "SpeedyModem").
  3467.  
  3468. Here is  what WR-BBS  would send to WFILEXFR.BAT as command line parameters
  3469. if a caller chooses to download PICTURE.ZIP  ...
  3470.  
  3471.           WFILEXFR  1  2400  SEND  SPEED_M  PICTURE.ZIP  1
  3472.  
  3473. Here is  what WR-BBS  would send to WFILEXFR.BAT as command line parameters
  3474. if a caller choose to download ONE.ARJ, TWO.ARJ, and THREE.ARJ  ...
  3475.  
  3476.           WFILEXFR  1  2400  SEND  SPEED_M  DL.LST  3
  3477.  
  3478. Here is what WR-BBS would send to WFILEXFR.BAT as command line parameters
  3479. if a caller told WR-BBS they wanted to upload GOODFILE.ZOO  ...
  3480.  
  3481.           WFILEXFR  1  2400  RECEIVE  SPEED_M  GOODFILE.ZOO  1
  3482.  
  3483.  
  3484. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  3485. Example two:   This  is for the Xmodem-CRC protocol, one of the most common
  3486. (but not  the most  efficient) file  transfers available.  It is capable of
  3487. single file  (one at  a time)  transfers only.   The  SysOp wants  it to be
  3488. available to  all classes  of service.   The  SysOp has  decided to use the
  3489. keyword XMC  to designate Xmodem-CRC for configuration and control purposes
  3490. (in WRCONFIG.SYS and WFILEXFR.BAT).  Here is what the entry in WRCONFIG.SYS
  3491. would look like:
  3492.  
  3493. PROTOCOL=Xmodem-CRC|XMC|SINGLE|ABCDEFGHIJKLMNOPQRSTUVWXYZ
  3494.  
  3495. (Callers will see this protocol listed as "Xmodem-CRC").
  3496.  
  3497. Here is  what WR-BBS  would send to WFILEXFR.BAT as command line parameters
  3498. if a caller chooses to download PICTURE.ZIP  ...
  3499.  
  3500.           WFILEXFR  1  2400  SEND  XMC  PICTURE.ZIP  1
  3501.  
  3502. Here is  what WR-BBS  would send to WFILEXFR.BAT as command line parameters
  3503. if a caller told WR-BBS they wanted to upload GOODFILE.ZOO  ...
  3504.  
  3505.           WFILEXFR  1  2400  RECEIVE  XMC  GOODFILE.ZOO  1
  3506.  
  3507. As you  can see,  WR-BBS knows  the external protocols by two identifiers -
  3508. the first  one is  the "nice  looking" string that is presented to callers,
  3509. and not  used anywhere  else by  WR-BBS.   The  second  identifier  is  the
  3510. protocol keyword which is passed to WFILEXFR.BAT as a parameter.
  3511.  
  3512. Working with  your protocol's  documentation  and  this  section,  you  can
  3513. customize your  file transfer  protocol handling.   When  selecting a  file
  3514. transfer protocol  utility, and  when designing  your WFILEXFR.BAT file (if
  3515. you choose to modify it), you should keep these things in mind:
  3516.  
  3517.      1. You should use a file transfer protocol that allows you to restrict
  3518.      incoming files.   DSZ  does a good job of this.  If WFILEXFR.BAT tells
  3519.      DSZ to receive a file named GOOD.ZIP, and the called instead transmits
  3520.      BAD.TXT, DSZ  will name  the file  GOOD.ZIP.  The "restrict" option on
  3521.      the  DSZ   command  line   also  keeps   caller  from  accidently  (or
  3522.      intentionally) sending  files with pathnames that would locate them in
  3523.      a directory other than the one you want to receive them in.
  3524.      
  3525.      2. Your  file transfer protocol should delete any partial files.  This
  3526.      will  prevent  subsequent  callers  from  downloading  aborted  upload
  3527.      segments.
  3528.      
  3529.      3. If  you do not want callers to have access to new uploads until you
  3530.      have
  3531.      tested /  cataloged them,  set the  class of service (in WRCONFIG.SYS)
  3532.      for the  upload area  so that  only the SysOp has access to it.  Then,
  3533.      after you  have checked  the new  files (as  the SysOp),  you can edit
  3534.      their descriptions  to move  them to  a different file area that other
  3535.      callers have access to.
  3536.      
  3537.      4. All  incoming files must be written to the "uploads" directory that
  3538.      you specified  in WRCONFIG.SYS.   After an upload is completed, WR-BBS
  3539.      checks for  the existence  of the uploaded file in that directory.  If
  3540.      the file  is not found in the upload directory, the description record
  3541.      is deleted, and the upload is considered as failed.
  3542.      
  3543.      5. WR-BBS  checks for  the existence  of a  file named $FAILURE in the
  3544.      upload directory after an upload occurs.  If the file $FAILURE exists,
  3545.      WR-BBS assumes  that the  upload was  unsuccessful.  Your WFILEXFR.BAT
  3546.      file should  erase any $FAILURE file before invoking the transfer, and
  3547.      create $FAILURE  only if  there is a problem with the upload.  See the
  3548.      sample copy of WFILEXFR.BAT for details.
  3549.  
  3550.  
  3551. WR-BBS changes  to the  "uploads"  directory,  making  that  directory  the
  3552. current working  directory, when  receiving uploads.   Your  file  transfer
  3553. protocol(s), such  as DSZ.COM,  must be  available to  WR-BBS regardless of
  3554. which directory  it is operating in.  The easiest way to accomplish this is
  3555. to put  the protocol  programs in  a directory  which is named in your PATH
  3556. statement.   Do NOT  put  the  WR-BBS  home  path  directory  in  the  PATH
  3557. statement.
  3558.  
  3559.  
  3560. ===========================================================================
  3561. SECTION 23                                   The "Waiting For Calls" Screen
  3562. ===========================================================================
  3563.  
  3564. The "waiting  for calls"  screen is displayed whenever WR-BBS is loaded and
  3565. available to  accept calls.  For purposes of this section, the screen-saver
  3566. screen is  the same  as the  full-screen "waiting for calls" screen.  There
  3567. are a  number of  special keys  that can be used at the "waiting for calls"
  3568. screen, including:
  3569.  
  3570. ALT-C       Compact the database files. When ALT-C is used, all of WR-BBS's
  3571.            database files  will be  purged  of  deleted  records.    During
  3572.            routine operation,  when a  database record  is deleted,  it  is
  3573.            marked for  deletion, but the record is not actually erased from
  3574.            the file.   Pressing  ALT-C every  now and  then  will  actually
  3575.            remove such  deleted records  from the database files.  If there
  3576.            are a  lot of deleted records, compacting the database files can
  3577.            result in slightly faster search speeds.  The database files are
  3578.            also smaller  after a  compaction is  requested, since  they  no
  3579.            longer contain  the deleted records.  This function is available
  3580.            only from  the "waiting  for calls"  screen,  because  the  user
  3581.            database is  manipulated as  part of this process, and therefore
  3582.            nobody can  be logged  on when this procedure is invoked.  After
  3583.            the database  files have  been compacted,  the  W-TREE  Database
  3584.            Manager will automatically rebuild the user database index file.
  3585.  
  3586. ALT-E         Event administration.   This allows you to view the scheduled
  3587.            events, and  suspend or  re-queue any  events as  desired.  This
  3588.            function is also available to the SysOp on remote calls.
  3589.  
  3590. ALT-F         File area  configuration.   This key  allows you  to view the
  3591.            configuration of  the various file areas.  It is read only - you
  3592.            cannot modify the file areas, just view them.
  3593.  
  3594. ALT-H         Help.   A help  screen is displayed, showing some of the more
  3595.            commonly used keys from the "waiting for calls" screen.
  3596.  
  3597. ALT-L         Local logon.  You can log on to your WR-BBS system locally by
  3598.            pressing ALT-L.   Your  session will be virtually the same as if
  3599.            you had  called in  via  the  modem.    Some  features  are  not
  3600.            available, such as chat, on local logons.
  3601.  
  3602. ALT-Q         Quit.   This key  combination will  shut down  WR-BBS.   When
  3603.            shutting down  WR-BBS, it  is a  good idea to always press ALT-Q
  3604.            first, and  then allow  WR-BBS to  terminate normally.   If  you
  3605.            simply shut  your  computer  off  or  reboot  without  a  proper
  3606.            shutdown, there  is a  slight risk  of corruption  to the WR-BBS
  3607.            data files.   Also,  WR-BBS will have to rebuild its index files
  3608.            on the  next startup,  which can  take a few minutes, unless you
  3609.            have shut down properly.
  3610.  
  3611. ALT-P      Purge discarded messages.  You can purge the message database of
  3612.            discarded messages  with this keystroke.  Unlike ALT-C, only the
  3613.            message database file is purged of deleted records.
  3614.  
  3615. ALT-R      Recycle port.  The modem is recycled, just as it is after a call
  3616.            ends when a remote caller ends their session.
  3617.  
  3618. ALT-S         Shell to  operating system.   WR-BBS will be suspended, and a
  3619.            shell to  the operating  system will occur.  Type EXIT to return
  3620.            to WR-BBS.   Do  not try to restart WR-BBS when shelled, as this
  3621.            could result in two copies of WR-BBS running, with unpredictable
  3622.            results.
  3623.  
  3624. ALT-V        View the activity log file. The log file is present in reverse
  3625.            order, so that most recent events are displayed first.
  3626.  
  3627. ===========================================================================
  3628. SECTION 24                           MOVING WR-BBS TO ANOTHER DRIVE OR PATH
  3629. ===========================================================================
  3630.  
  3631. If you  decide you want to move WR-BBS to another drive on your system (for
  3632. example, from  C: to  D:), or  to a  different directory (for example, from
  3633. C:\WR-BBS to C:\NEEDIER), you need to be aware of the ramifications of such
  3634. a move.
  3635.  
  3636. WR-BBS is  a database-oriented program, and its databases consist of, among
  3637. other things,  filenames and  paths.  Just like any other sophisticated BBS
  3638. application, you  cannot simply  move WR-BBS from one drive to another. For
  3639. example, let's say you moved WR-BBS from C:\WR-BBS to D:\WR-BBS, by copying
  3640. all the  WR-BBS files  to the  new directory on the new drive.  The library
  3641. database file  will still contain references to the directories on C: where
  3642. your files  were formerly  located.  The message database will also contain
  3643. references to  the C:  drive, and  those message  files will  not longer be
  3644. there.     The  same   problems  will   apply  if   you  change   the  home
  3645. directory.Because of  the limitless  possibilities as  to where  you  could
  3646. "relocate" WR-BBS  to, it  is not  possible  for  WR-BBS  to  automatically
  3647. reconcile the changes that occur if it is moved.
  3648.  
  3649. If you  wish to  put WR-BBS  on a different drive or path, you will need to
  3650. install WR-BBS  again, as if you are installing it for the first time.  You
  3651. can then  salvage the  user database  file, and  possibly the files library
  3652. database.  Here's how to do it:
  3653.  
  3654.      1.  Make a full backup of the current WR-BBS file structure, using the
  3655.      DOS BACKUP  command.   See your  DOS manual  for details on the BACKUP
  3656.      command.  A typical command line would look like:
  3657.      
  3658.           BACKUP C:\WR-BBS\*.* A: /S
  3659.      
  3660.      Having a full backup will enable you to restore WR-BBS to its original
  3661.      condition if  you decide  to move  it back  to where  it was.  The few
  3662.      diskettes it takes temporarily is good insurance.
  3663.      
  3664.      2.   Copy the  data file  WRBBSUSR.DAT to  a diskette.  Do not use the
  3665.      BACKUP command  for this  one copy operation.  Do not copy the file to
  3666.      the backup diskettes that you used in step one.
  3667.      
  3668.      3.   Delete the  contents of the home path directory (typically C:\WR-
  3669.      BBS), and  all of  its sub-directories,  including  the  display  sub-
  3670.      directory if  any, and  all MSGFILES.???  directories.    NOTE:    All
  3671.      messages in the message system will be lost.
  3672.      
  3673.      4.   Modify AUTOEXEC.BAT  to change the SET WR-BBS= statement.  Change
  3674.      it to reflect the new location you have chosen for WR-BBS.
  3675.      
  3676.      5.   Reboot your system, to make the new SET statement in AUTOEXEC.BAT
  3677.      take effect.
  3678.      
  3679.      6.   Install WR-BBS (as directed earlier in this documentation), as if
  3680.      you are installing it for the very first time.
  3681.      
  3682.      7.   Run WRBBS /INIT to create an empty database.  Do not start WR-BBS
  3683.      yet.
  3684.      
  3685.      8.  Copy WRBBSUSR.DAT from the diskette you created in step two.  Copy
  3686.      it into the new home path.
  3687.      
  3688.      9.   Start  WR-BBS.        The  user  data  file  will  be  re-indexed
  3689.      automatically.
  3690.  
  3691. You will  now have  a "new"  WR-BBS installation,  with all  of  your  user
  3692. records intact.   If your file library directories were not associated with
  3693. the previous  home path,  you can  also save  (in step 2) and copy back (in
  3694. step 8) WRBBSLIB.DAT to save the files library records.
  3695.  
  3696.  
  3697. ===========================================================================
  3698. SECTION 25                                                    MISCELLANEOUS
  3699. ===========================================================================
  3700.  
  3701. QUESTION:  Why does WR-BBS ask callers if the want ANSI as soon as they log
  3702. on?  Some other BBS programs have "automatic ANSI detect" and automatically
  3703. determine if the caller has ANSI.  Why doesn't WR-BBS?
  3704.  
  3705. ANSWER:   The original  specification of  WR-BBS called  for automatic ANSI
  3706. sensing, and  that feature was included in WR-BBS up to beta version 0.96F.
  3707. There is  a problem  with the  whole  theory  of  automatic  ANSI  sensing,
  3708. however, so  the feature was removed from WR-BBS.  The problem is that when
  3709. the ANSI  response is  requested from  the caller's communications program,
  3710. some communications packages will respond indicating that an ANSI driver is
  3711. present, when  in fact  the caller  is using a terminal emulation that does
  3712. not support  ANSI.  This is true of several popular communications programs
  3713. being used  by a  majority of callers.  If the caller has selected TTY mode
  3714. for the terminal emulation (which is wrong, but they made the mistake), the
  3715. communications program  will still  respond with  the ANSI report code when
  3716. queried.   The same  is true,  with many  communications programs,  if  the
  3717. caller has  selected an  old VT-100  emulation that  does not fully support
  3718. ANSI color sequences.  The communications program will still report that it
  3719. supports ANSI  when asked.  Since WR-BBS is designed to be easy to call and
  3720. intuitive, filling  the callers  screen with garbage (just because they are
  3721. set up  wrong) is  not a good way to achieve that goal.  A caller can still
  3722. respond wrong to the ANSI question when logging on to WR-BBS, but the cause
  3723. and effect will be much more apparent to the caller.
  3724.  
  3725. There are  some BBS's  that auto-detect  ANSI, and  FORCE the ANSI onto the
  3726. caller upon  logon, whether  they want  it or  not.  Some callers, who have
  3727. full ANSI  support, prefer not to use ANSI on some calls.  This may be true
  3728. when they  are in  a hurry,  and don't want to wait for the slightly longer
  3729. amount of  time it  takes to draw ANSI screens.  At other times, these same
  3730. callers desire  ANSI.   With a BBS that forces ANSI just because it detects
  3731. it, the  caller loses  some of  this control.   Additionally, callers whose
  3732. communications programs report that ANSI is enabled when it is not are just
  3733. out of luck.  WR-BBS will not do this to your callers.
  3734.  
  3735. QUESTION:  Why doesn't WR-BBS include any file transfer protocols?
  3736.  
  3737. ANSWER:   To keep  development times as short as possible, to keep the cost
  3738. down, and  to make  WR-BBS as flexible as possible, I intentionally did not
  3739. include any  file transfer  protocols in WR-BBS.  You can obtain the Xmodem
  3740. file transfer protocol as a public domain utility from BBS's throughout the
  3741. world.   Add that  to WR-BBS,  and you have a BBS that supports Xmodem file
  3742. transfers -  comparable to  other shareware BBS programs available.  WR-BBS
  3743. allows you to custom-define up to 26 file transfer protocols - but you must
  3744. supply them.   On  my own board, I use just two protocol utilities.  One is
  3745. DSZ, an  excellent multi-flavor  utility that  supports Xmodem, Ymodem, and
  3746. Zmodem.   The other  is a public domain Kermit protocol.  I have registered
  3747. DSZ with  its author, at a nominal charge, and I consider that registration
  3748. charge to be a bargain for the value delivered by the DSZ utility.  Even if
  3749. you add in the registration for a utility like DSZ, the cost of registering
  3750. both WR-BBS and the protocol with the respective authors is around $50.00 -
  3751. not a  bad price  for a BBS like WR-BBS that includes up to seven varieties
  3752. of file transfer protocols.  WR-BBS gives you that flexibility!
  3753.  
  3754. Before I  wrote WR-BBS,  I  ran a "commercial" BBS product on my own board,
  3755. and that  product included  an inefficient  and unreliable knock-off of the
  3756. Zmodem protocol.   I ended up disabling the "built-in" Zmodem hack job, and
  3757. using an  external Zmodem  utility to  provide reliable  operation.    That
  3758. commercial BBS  product cost  more than five times the registration cost of
  3759. WR-BBS, and  I had to throw more money after it just to defeat their built-
  3760. in Zmodem and register a real Zmodem utility.
  3761.  
  3762. I could  have included  some exotic  protocols in  WR-BBS, but most of them
  3763. require royalties or license fees to their authors.  I don't have a problem
  3764. with that, but I wanted to keep WR-BBS's cost low.
  3765.  
  3766.  
  3767. QUESTION:  Does WR-BBS support off-line mail facilities and/or networking?
  3768.  
  3769. ANSWER:   No.   Although it  is remotely  possible that  I may pursue these
  3770. features in  the distant  future, I  have no  plans to do so in foreseeable
  3771. upcoming versions.   There  are other  BBS applications  that provide these
  3772. features, and  do them  well.  My intent with WR-BBS is to provide an easy-
  3773. to-navigate, easy-to-administer BBS.
  3774.  
  3775.  
  3776. QUESTION:  Should I back up any WR-BBS files?
  3777.  
  3778. ANSWER:  Yes.  On an active BBS, the database files change often, and so do
  3779. the "static"  files such  as screens,  bulletins, etc.   For  any important
  3780. program with  files that  change on  a frequent  basis (such  as WR-BBS), a
  3781. daily backup  routine is the very least you should do.  Here's what I do on
  3782. my WR-BBS board (The WR-BBS Headquarters BBS)  ...
  3783.  
  3784.     1.      Each night,  MIDNIGHT.BAT copies  the  current  database  files
  3785.           (*.DAT) to separate files named *.DBK.
  3786.     
  3787.     2.    Each morning, I copy all *.DBK files to diskette.  Thus, I have a
  3788.           current copy of the database, as it existed at midnight.
  3789.     
  3790.     3.   Each Sunday,  I do  a  full  backup  of  C:\WR-BBS\*.*  with  sub-
  3791.           directories. It  takes several  diskettes.  I rotate three backup
  3792.           sets, so  if one  turns out to be unusable for any reason, I have
  3793.           another (which  is a  week older).   I  keep one  backup set off-
  3794.           premise at all times.
  3795.     
  3796.     4.      Every other  Thursday, I do a full backup of the hard drive, to
  3797.           back up  the library  files and everything else related to WR-BBS
  3798.           (plus some  that are  unrelated).   Two backup sets are used, and
  3799.           one is kept off-premise.
  3800.  
  3801. With this  structured backup  program,  I  can  recover  from  any  of  the
  3802. following unexpected problems:
  3803.  
  3804.      - A hard drive failure.
  3805.      - A system or program problem that corrupts the database.
  3806.      - Total loss of the computer on which WR-BBS is installed.
  3807.      - Accidental or intentional file deletion.
  3808.      - Disaster which destroys the WR-BBS computer and its environs.
  3809.  
  3810. Whether or  not you  want to  go to  these lengths  to back  up your WR-BBS
  3811. installation is  your decision.   Consider  the amount  of  time  you  have
  3812. invested in setting up your board - the installation and fine-tuning time -
  3813. and use this as a guide; do you want to do this all over again?
  3814.  
  3815.  
  3816.  
  3817.  
  3818.  
  3819.  
  3820. ===========================================================================
  3821.                               END OF DOCUMENT
  3822. ===========================================================================
  3823.  
  3824.  
  3825.